From 55fc322b761692dad33253f96751a030ff45a842 Mon Sep 17 00:00:00 2001 From: uojhd Date: Sat, 31 Aug 2024 13:15:38 +0200 Subject: [PATCH 01/10] Expanded curriculum, grade, room and teacher service tests --- .../services/CurriculumServiceTests.java | 34 ++++++++ .../de/uftos/services/GradeServiceTests.java | 82 +++++++++++++++++- .../de/uftos/services/RoomServiceTests.java | 68 ++++++++++++++- .../uftos/services/TeacherServiceTests.java | 84 ++++++++++++++++++- 4 files changed, 262 insertions(+), 6 deletions(-) diff --git a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java index 68a98a12a..6bed44956 100644 --- a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java +++ b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java @@ -140,6 +140,22 @@ void createCurriculum() { assertEquals(1, curriculum.getLessonsCounts().size()); } + @Test + void createEmptyName() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Englisch", 4); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("testGrade", "", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, () -> curriculumService.create(requestDto)); + } + + @Test + void createNonExistentGrade() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Englisch", 4); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("nonExistentGrade", "testName", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, () -> curriculumService.create(requestDto)); + } + @Test void updateCurriculum() { LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Physik", 4); @@ -160,6 +176,24 @@ void updateCurriculum() { assertEquals(1, curriculum.getLessonsCounts().size()); } + @Test + void updateCurriculumNonExistent() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Physik", 4); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("newGrade", "newName", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, + () -> curriculumService.update("nonExistentId", requestDto)); + } + + @Test + void updateCurriculumNonExistentGrade() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Physik", 4); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("nonExistentGrade", "newName", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, + () -> curriculumService.update("234", requestDto)); + } + @Test void deleteExistentCurriculum() { assertDoesNotThrow(() -> curriculumService.delete("123")); diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java index ec2366e18..c6c730989 100644 --- a/server/src/test/java/de/uftos/services/GradeServiceTests.java +++ b/server/src/test/java/de/uftos/services/GradeServiceTests.java @@ -46,6 +46,9 @@ public class GradeServiceTests { private final GradeRequestDto requestDtoForCreateAndUpdate = new GradeRequestDto("testName", List.of(), List.of("tagId")); + private final GradeRequestDto requestDtoForCreateAndUpdateEmptyName = + new GradeRequestDto("", List.of(), List.of("tagId")); + @Mock private GradeRepository gradeRepository; @@ -61,6 +64,9 @@ public class GradeServiceTests { @Mock private Grade grade2Mock; + @Mock + private Grade grade3Mock; + @Mock private Grade gradeForCreateAndUpdateMock; @@ -139,6 +145,10 @@ void setUp() { List.of("T2", "T3")); grade2.setId("456"); + Grade grade3 = new Grade("7", List.of(), + List.of("T2", "T3")); + grade2.setId("567"); + studentGroup1.setGrades(List.of(grade1Mock)); studentGroup2.setGrades(List.of(grade1Mock)); @@ -147,14 +157,24 @@ void setUp() { Server server = new Server(new TimetableMetadata(45, 8, "8:00", breaks), "2024", "test@uftos.de"); when(serverRepository.findAll()).thenReturn(List.of(server)); + when(studentGroupRepository.findByGrades(grade1Mock)).thenReturn( + List.of(studentGroup1, studentGroup2)); + when(studentGroupRepository.findAllByGrades(List.of(grade1Mock))).thenReturn( + List.of(studentGroup1, studentGroup2)); when(gradeRepository.findById("123")).thenReturn(Optional.of(grade1Mock)); when(gradeRepository.findById("456")).thenReturn(Optional.of(grade2Mock)); + when(gradeRepository.findById("567")).thenReturn(Optional.of(grade3Mock)); when(gradeRepository.save(any(Grade.class))).thenReturn(gradeForCreateAndUpdateMock); + when(gradeRepository.findAllById(List.of("123"))).thenReturn(List.of(grade1Mock)); + when(gradeRepository.findAllById(List.of("567"))).thenReturn(List.of(grade3Mock)); + when(gradeRepository.findAllById(List.of("nonExistentId", "123"))).thenReturn( + List.of(grade1Mock)); when(grade1Mock.getStudentGroups()).thenReturn(List.of(studentGroup1, studentGroup2)); when(grade1Mock.getId()).thenReturn(grade1.getId()); when(grade1Mock.getName()).thenReturn(grade1.getName()); when(grade1Mock.getTags()).thenReturn(grade1.getTags()); when(grade2Mock.getStudentGroups()).thenReturn(List.of(studentGroup3, studentGroup4)); + when(grade3Mock.getId()).thenReturn("567"); Grade gradeForTests = requestDtoForCreateAndUpdate.map(); when(gradeForCreateAndUpdateMock.getStudentGroups()).thenReturn( @@ -162,6 +182,7 @@ void setUp() { when(gradeForCreateAndUpdateMock.getId()).thenReturn(gradeForTests.getId()); when(gradeForCreateAndUpdateMock.getName()).thenReturn(gradeForTests.getName()); when(gradeForCreateAndUpdateMock.getTags()).thenReturn(gradeForTests.getTags()); + } @Test @@ -200,9 +221,21 @@ void createGrade() { assertEquals(1, grade.getTags().size()); assertEquals("tagId", grade.getTags().getFirst().getId()); + } + @Test + void createGradeEmptyName() { + assertThrows(ResponseStatusException.class, + () -> gradeService.create(requestDtoForCreateAndUpdateEmptyName)); } + @Test + void updateGradeEmptyName() { + assertThrows(ResponseStatusException.class, + () -> gradeService.update("123", requestDtoForCreateAndUpdateEmptyName)); + } + + @Test void lessonsById() { LessonResponseDto result = gradeService.getLessonsById("123"); @@ -231,6 +264,11 @@ void lessonsById() { ); } + @Test + void lessonsByNonExistentId() { + assertThrows(ResponseStatusException.class, () -> gradeService.getLessonsById("nonExistentId")); + } + @Test void updateGrade() { gradeService.update("123", requestDtoForCreateAndUpdate); @@ -248,13 +286,18 @@ void updateGrade() { } @Test - void deleteExistentGrade() { - assertDoesNotThrow(() -> gradeService.delete("123")); + void deleteGradeAssociatedWithGroup() { + assertThrows(ResponseStatusException.class, () -> gradeService.delete("123")); + } + + @Test + void deleteGrade() { + assertDoesNotThrow(() -> gradeService.delete("567")); ArgumentCaptor gradeCap = ArgumentCaptor.forClass(Grade.class); verify(gradeRepository, times(1)).delete(gradeCap.capture()); Grade grade = gradeCap.getValue(); - assertEquals("123", grade.getId()); + assertEquals("567", grade.getId()); } @Test @@ -262,6 +305,39 @@ void deleteNonExistentGrade() { assertThrows(ResponseStatusException.class, () -> gradeService.delete("nonExistentId")); } + @Test + void deleteGradesNonExistent() { + assertThrows(ResponseStatusException.class, + () -> gradeService.deleteGrades(new String[] {"nonExistentId"})); + } + + @Test + void deleteGradesSomeExistent() { + assertThrows(ResponseStatusException.class, + () -> gradeService.deleteGrades(new String[] {"nonExistentId", "123"})); + } + + @Test + void deleteGradesAllExistentReferencesGroup() { + assertThrows(ResponseStatusException.class, + () -> gradeService.deleteGrades(new String[] {"123"})); + + } + + @Test + void deleteGradesAllExistent() { + assertDoesNotThrow(() -> gradeService.deleteGrades(new String[] {"567"})); + Class> listClass = + (Class>) (Class) List.class; + ArgumentCaptor> gradeCap = ArgumentCaptor.forClass(listClass); + verify(gradeRepository, times(1)).deleteAll(gradeCap.capture()); + + List gradeList = gradeCap.getValue(); + assertEquals(1, gradeList.size()); + assertEquals("567", gradeList.getFirst().getId()); + + } + @Test void emptyLessons() { diff --git a/server/src/test/java/de/uftos/services/RoomServiceTests.java b/server/src/test/java/de/uftos/services/RoomServiceTests.java index 0d2dae370..a02a4dcc9 100644 --- a/server/src/test/java/de/uftos/services/RoomServiceTests.java +++ b/server/src/test/java/de/uftos/services/RoomServiceTests.java @@ -106,6 +106,9 @@ void setUp() { when(serverRepository.findAll()).thenReturn(List.of(server)); when(roomRepository.findById("123")).thenReturn(Optional.of(room1)); when(roomRepository.findById("456")).thenReturn(Optional.of(room2)); + when(roomRepository.findAllById(List.of("123"))).thenReturn(List.of(room1)); + when(roomRepository.findAllById(List.of("nonExistentId", "123"))).thenReturn(List.of(room1)); + } @Test @@ -135,6 +138,28 @@ void createRoom() { assertEquals("tagId", room.getTags().getFirst().getId()); } + @Test + void createRoomEmptyName() { + RoomRequestDto requestDto = + new RoomRequestDto("", "buildingName", 10, List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> roomService.create(requestDto)); + } + + @Test + void createRoomEmptyBuildingName() { + RoomRequestDto requestDto = + new RoomRequestDto("roomName", "", 10, List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> roomService.create(requestDto)); + } + + @Test + void createRoomZeroCapacity() { + RoomRequestDto requestDto = + new RoomRequestDto("roomName", "buildingName", 0, List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> roomService.create(requestDto)); + } + + @Test void updateRoom() { RoomRequestDto requestDto = @@ -155,6 +180,20 @@ void updateRoom() { assertEquals(0, room.getTags().size()); } + @Test + void updateRoomEmptyName() { + RoomRequestDto requestDto = + new RoomRequestDto("", "buildingName", 10, List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> roomService.update("123", requestDto)); + } + + @Test + void updateRoomEmptyBuildingName() { + RoomRequestDto requestDto = + new RoomRequestDto("roomName", "", 10, List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> roomService.update("123", requestDto)); + } + @Test void deleteExistingRoom() { assertDoesNotThrow(() -> roomService.delete("123")); @@ -170,6 +209,32 @@ void deleteNonExistingRoom() { assertThrows(ResponseStatusException.class, () -> roomService.delete("nonExistentId")); } + @Test + void deleteRoomsNonExistent() { + assertThrows(ResponseStatusException.class, + () -> roomService.deleteRooms(new String[] {"nonExistentId"})); + } + + @Test + void deleteRoomsSomeExistent() { + assertThrows(ResponseStatusException.class, + () -> roomService.deleteRooms(new String[] {"nonExistentId", "123"})); + } + + @Test + void deleteRoomsAllExistent() { + assertDoesNotThrow(() -> roomService.deleteRooms(new String[] {"123"})); + Class> listClass = + (Class>) (Class) List.class; + ArgumentCaptor> roomCap = ArgumentCaptor.forClass(listClass); + verify(roomRepository, times(1)).deleteAll(roomCap.capture()); + + List roomList = roomCap.getValue(); + assertEquals(1, roomList.size()); + assertEquals("123", roomList.getFirst().getId()); + + } + @Test void emptyLessons() { assertDoesNotThrow(() -> roomService.getLessonsById("456")); @@ -189,7 +254,8 @@ void lessonsById() { ); assertAll("Testing whether all the rooms are there", - () -> assertTrue(result.rooms().stream().map(room -> room.getId()).toList().contains(room1.getId())) + () -> assertTrue( + result.rooms().stream().map(room -> room.getId()).toList().contains(room1.getId())) ); assertAll("Testing whether all the student groups are there", diff --git a/server/src/test/java/de/uftos/services/TeacherServiceTests.java b/server/src/test/java/de/uftos/services/TeacherServiceTests.java index 2c3591339..3a48ebdb3 100644 --- a/server/src/test/java/de/uftos/services/TeacherServiceTests.java +++ b/server/src/test/java/de/uftos/services/TeacherServiceTests.java @@ -111,6 +111,9 @@ void setUp() { when(serverRepository.findAll()).thenReturn(List.of(server)); when(teacherRepository.findById("123")).thenReturn(Optional.of(teacher1)); when(teacherRepository.findById("456")).thenReturn(Optional.of(teacher2)); + when(teacherRepository.findAllById(List.of("123"))).thenReturn(List.of(teacher1)); + when(teacherRepository.findAllById(List.of("nonExistentId", "123"))).thenReturn( + List.of(teacher1)); } @Test @@ -144,6 +147,31 @@ void createTeacher() { assertEquals("tagId", teacher.getTags().getFirst().getId()); } + @Test + void createTeacherEmptyFirstName() { + TeacherRequestDto requestDto = + new TeacherRequestDto("", "lastName", "FL", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.create(requestDto)); + } + + @Test + void createTeacherEmptyLastName() { + TeacherRequestDto requestDto = + new TeacherRequestDto("firstName", "", "FL", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.create(requestDto)); + } + + @Test + void createTeacherEmptyAcronym() { + TeacherRequestDto requestDto = + new TeacherRequestDto("firstName", "lastName", "", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.create(requestDto)); + } + + @Test void updateTeacher() { TeacherRequestDto requestDto = @@ -167,6 +195,30 @@ void updateTeacher() { assertEquals(0, teacher.getTags().size()); } + @Test + void updateTeacherEmptyFirstName() { + TeacherRequestDto requestDto = + new TeacherRequestDto("", "lastName", "FL", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.update("123", requestDto)); + } + + @Test + void updateTeacherEmptyLastName() { + TeacherRequestDto requestDto = + new TeacherRequestDto("firstName", "", "FL", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.update("123", requestDto)); + } + + @Test + void updateTeacherEmptyAcronym() { + TeacherRequestDto requestDto = + new TeacherRequestDto("firstName", "lastName", "", List.of("subjectId"), + List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> teacherService.update("123", requestDto)); + } + @Test void deleteExistingTeacher() { assertDoesNotThrow(() -> teacherService.delete("123")); @@ -182,6 +234,32 @@ void deleteNonExistingTeacher() { assertThrows(ResponseStatusException.class, () -> teacherService.delete("nonExistentId")); } + @Test + void deleteTeachersNonExistent() { + assertThrows(ResponseStatusException.class, + () -> teacherService.deleteTeachers(new String[] {"nonExistentId"})); + } + + @Test + void deleteTeachersSomeExistent() { + assertThrows(ResponseStatusException.class, + () -> teacherService.deleteTeachers(new String[] {"nonExistentId", "123"})); + } + + @Test + void deleteTeachersAllExistent() { + assertDoesNotThrow(() -> teacherService.deleteTeachers(new String[] {"123"})); + Class> listClass = + (Class>) (Class) List.class; + ArgumentCaptor> teacherCap = ArgumentCaptor.forClass(listClass); + verify(teacherRepository, times(1)).deleteAll(teacherCap.capture()); + + List teacherList = teacherCap.getValue(); + assertEquals(1, teacherList.size()); + assertEquals("123", teacherList.getFirst().getId()); + + } + @Test void emptyLessons() { assertDoesNotThrow(() -> teacherService.getLessonsById("456")); @@ -199,8 +277,10 @@ void lessonsById() { ); assertAll("Testing whether all the rooms are there", - () -> assertTrue(result.rooms().stream().map(room -> room.getId()).toList().contains(room1.getId())), - () -> assertTrue(result.rooms().stream().map(room -> room.getId()).toList().contains(room2.getId())) + () -> assertTrue( + result.rooms().stream().map(room -> room.getId()).toList().contains(room1.getId())), + () -> assertTrue( + result.rooms().stream().map(room -> room.getId()).toList().contains(room2.getId())) ); assertAll("Testing whether all the student groups are there", From 76e07f08762d6f9a479e4d24223153d7f58bb50c Mon Sep 17 00:00:00 2001 From: uojhd Date: Sat, 31 Aug 2024 16:54:39 +0200 Subject: [PATCH 02/10] Student and group service tests --- .../dto/responsedtos/LessonResponseDto.java | 8 +- .../uftos/services/StudentGroupService.java | 8 +- .../de/uftos/services/StudentService.java | 7 +- .../services/StudentGroupServiceTests.java | 190 ++++++++++++------ .../de/uftos/services/StudentServiceTest.java | 54 ++++- 5 files changed, 192 insertions(+), 75 deletions(-) diff --git a/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java index d2c0f96d3..fa994a305 100644 --- a/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java +++ b/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java @@ -44,7 +44,7 @@ public static LessonResponseDto createResponseDtoFromLessons(List lesson List gradeResponseDtos = new ArrayList<>(); Set rooms = new HashSet<>(); Set subjects = new HashSet<>(); - Set groups = new HashSet<>(); + Set groups = new HashSet<>(); Timetable timetable = lessons.isEmpty() ? null : lessons.getFirst().getTimetable(); for (Lesson lesson : lessons) { @@ -63,7 +63,8 @@ public static LessonResponseDto createResponseDtoFromLessons(List lesson grades.stream().map(GradeResponseDto::createResponseDtoFromGrade) .forEach(gradeResponseDtos::add); - return new LessonResponseDto(bulkLessons, teachers.stream().toList(), groups.stream().toList(), gradeResponseDtos, + return new LessonResponseDto(bulkLessons, teachers.stream().toList(), groups.stream().toList(), + gradeResponseDtos, rooms.stream().toList(), subjects.stream().toList(), timetable); } @@ -75,7 +76,8 @@ private record BulkLesson(@NotEmpty String id, @PositiveOrZero int index, @NotEmpty String subjectId, @NotNull Timetable timetable) { private BulkLesson(Lesson lesson, List gradesId) { this(lesson.getId(), lesson.getIndex(), lesson.getTeacher().getId(), - lesson.getRoom().getId(), lesson.getStudentGroup().getId(), gradesId, lesson.getTimeslot(), + lesson.getRoom().getId(), lesson.getStudentGroup().getId(), gradesId, + lesson.getTimeslot(), lesson.getSubject().getId(), lesson.getTimetable()); } } diff --git a/server/src/main/java/de/uftos/services/StudentGroupService.java b/server/src/main/java/de/uftos/services/StudentGroupService.java index 13ce6e79a..c8f124f26 100644 --- a/server/src/main/java/de/uftos/services/StudentGroupService.java +++ b/server/src/main/java/de/uftos/services/StudentGroupService.java @@ -146,7 +146,9 @@ public StudentGroupResponseDto update(String id, StudentGroupRequestDto groupReq List oldGrades = this.gradeRepository.findByStudentGroups(group); for (Grade oldGrade : oldGrades) { if (!groupRequest.gradeIds().contains(oldGrade.getId())) { - oldGrade.getStudentGroups().remove(group); + List oldGradeGroups = new ArrayList<>(oldGrade.getStudentGroups()); + oldGradeGroups.remove(group); + oldGrade.setStudentGroups(oldGradeGroups); } } this.gradeRepository.saveAll(oldGrades); @@ -157,7 +159,9 @@ public StudentGroupResponseDto update(String id, StudentGroupRequestDto groupReq if (grade.getStudentGroups().contains(group)) { continue; } - grade.getStudentGroups().add(group); + List groups = new ArrayList<>(grade.getStudentGroups()); + groups.add(group); + grade.setStudentGroups(groups); } this.gradeRepository.saveAll(grades); diff --git a/server/src/main/java/de/uftos/services/StudentService.java b/server/src/main/java/de/uftos/services/StudentService.java index 8d20c14ea..f231c0e41 100644 --- a/server/src/main/java/de/uftos/services/StudentService.java +++ b/server/src/main/java/de/uftos/services/StudentService.java @@ -39,7 +39,8 @@ public class StudentService { */ @Autowired public StudentService(StudentRepository repository, - StudentGroupRepository studentGroupRepository, ServerRepository serverRepository) { + StudentGroupRepository studentGroupRepository, + ServerRepository serverRepository) { this.repository = repository; this.studentGroupRepository = studentGroupRepository; this.serverRepository = serverRepository; @@ -90,7 +91,9 @@ public LessonResponseDto getLessonsById(String id) { List studentGroups = student.getGroups(); List lessons = new ArrayList<>( studentGroups.stream().flatMap(group -> group.getLessons().stream()).toList()); - lessons.removeIf(lesson -> !lesson.getYear().equals(serverRepository.findAll().getFirst().getCurrentYear())); + + lessons.removeIf( + lesson -> !lesson.getYear().equals(serverRepository.findAll().getFirst().getCurrentYear())); return LessonResponseDto.createResponseDtoFromLessons(lessons); } diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java index 30d9d5db6..d271bbf65 100644 --- a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java +++ b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java @@ -48,9 +48,21 @@ @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) public class StudentGroupServiceTests { + private final StudentGroupRequestDto requestDto = new StudentGroupRequestDto("testName", List.of("studentId1"), List.of("gradeId1"), List.of("tagId1"), List.of("subjectId1")); + private final StudentGroupRequestDto requestDtoEmptyName = + new StudentGroupRequestDto("", List.of("studentId1"), List.of("gradeId1"), + List.of("tagId1"), List.of("subjectId1")); + private final StudentGroupRequestDto requestDtoInvalidGrade = + new StudentGroupRequestDto("groupName", List.of("studentId1"), List.of("nonExistentGrade"), + List.of("tagId1"), List.of("subjectId1")); + + @Mock + private Grade gradeNoGroupsMock; + @Mock + private Grade gradeForUpdateMock; @Mock private StudentGroupRepository studentGroupRepository; @Mock @@ -62,12 +74,98 @@ public class StudentGroupServiceTests { @InjectMocks private StudentGroupService studentGroupService; + + @BeforeEach + void setUp() { + StudentGroup studentGroup1 = + new StudentGroup("Ethics", List.of("studentId0", "studentId1"), List.of(), + List.of()); + studentGroup1.setId("123"); + + StudentGroup studentGroup2 = + new StudentGroup("Religion", List.of("studentId1", "studentId2", "studentId3"), + List.of(), + List.of("T1", "T2")); + studentGroup2.setId("456"); + studentGroup2.setLessons(Collections.emptyList()); + + StudentGroup studentGroup3 = + new StudentGroup("testName", List.of("studentId1"), List.of("tagId1"), + List.of("subjectId1")); + + Grade grade1 = new Grade("gradeId1"); + grade1.setStudentGroups(new ArrayList<>(List.of(studentGroup1, studentGroup2, studentGroup3))); + + Grade gradeNoGroups = new Grade("noGroupsId"); + Grade gradeForUpdate = new Grade("gradeForUpdate"); + gradeForUpdate.setStudentGroups(List.of(studentGroup1)); + + when(gradeRepository.findAllById(List.of("gradeId1"))).thenReturn(List.of(grade1)); + + studentGroup1.setGrades(List.of(grade1)); + studentGroup2.setGrades(List.of(grade1)); + studentGroup3.setGrades(List.of(grade1)); + + Subject subject = new Subject("789"); + + Room room1 = new Room("534"); + Room room2 = new Room("574"); + + Teacher teacher1 = new Teacher("T1"); + Teacher teacher2 = new Teacher("T2"); + + Lesson lesson1 = createLesson(teacher1, room1, studentGroup1, "2024", subject); + Lesson lesson2 = createLesson(teacher2, room1, studentGroup1, "2022", subject); + Lesson lesson3 = createLesson(teacher1, room2, studentGroup2, "2024", subject); + + studentGroup1.setLessons(List.of(lesson1, lesson2, lesson3)); + + Student student = new Student("Firstname", "Lastname", List.of("tagId1")); + student.setId("studentId1"); + + Student student1 = new Student("Firstname1", "Lastname1", List.of("tagId1")); + student1.setId("studentId2"); + when(studentRepository.findById(student.getId())).thenReturn(Optional.of(student)); + when(studentRepository.findById(student1.getId())).thenReturn(Optional.of(student1)); + when(studentRepository.findAll()).thenReturn(List.of(student, student1)); + + Break[] breaks = {}; + Server server = + new Server(new TimetableMetadata(45, 8, "8:00", breaks), "2024", "test@uftos.de"); + when(serverRepository.findAll()).thenReturn(List.of(server)); + when(gradeRepository.findByStudentGroups(studentGroup1)).thenReturn(List.of(grade1)); + when(gradeRepository.findAllById(List.of(grade1.getId()))).thenReturn(List.of(grade1)); + when(gradeRepository.findAllById( + List.of("noGroupsId", "gradeForUpdate"))).thenReturn( + List.of(gradeForUpdateMock, gradeNoGroupsMock)); + when(gradeNoGroupsMock.getStudentGroups()).thenReturn(List.of()); + when(gradeForUpdateMock.getStudentGroups()).thenReturn(List.of(studentGroup1)); + when(studentGroupRepository.findById("123")).thenReturn(Optional.of(studentGroup1)); + when(studentGroupRepository.findById("456")).thenReturn(Optional.of(studentGroup2)); + + studentGroup3.setId("789"); + when(studentGroupRepository.save(any(StudentGroup.class))).thenReturn(studentGroup3); + when(studentGroupRepository.findById("789")).thenReturn(Optional.of(studentGroup3)); + } + @Test - void getByNonExistingId() { + void getByNonExistentId() { assertThrows(ResponseStatusException.class, () -> studentGroupService.getById("nonExistingId")); } + @Test + void getByExistentId() { + StudentGroupResponseDto result = studentGroupService.getById("123"); + assertEquals("Ethics", result.name()); + assertEquals(2, result.students().size()); + assertEquals("studentId0", result.students().getFirst().getId()); + assertEquals("studentId1", result.students().get(1).getId()); + assertEquals(1, result.grades().size()); + assertEquals("gradeId1", result.grades().getFirst().id()); + assertEquals(0, result.tags().size()); + } + @Test void emptyLessons() { assertDoesNotThrow(() -> studentGroupService.getLessonsById("456")); @@ -123,11 +221,23 @@ void createGroup() { assertEquals("subjectId1", studentGroup.subjects().getFirst().getId()); } + @Test + void createGroupEmptyName() { + assertThrows(ResponseStatusException.class, + () -> studentGroupService.create(requestDtoEmptyName)); + } + + @Test + void createGroupInvalidGrade() { + assertThrows(ResponseStatusException.class, + () -> studentGroupService.create(requestDtoInvalidGrade)); + } + @Test void updateGroup() { StudentGroupRequestDto requestDto = - new StudentGroupRequestDto("Ethics2", List.of("studentId0", "studentId1"), List.of(), - List.of(), List.of()); + new StudentGroupRequestDto("Ethics2", List.of("studentId0", "studentId1"), + List.of("noGroupsId", "gradeForUpdate"), List.of(), List.of()); studentGroupService.update("123", requestDto); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); @@ -140,13 +250,19 @@ void updateGroup() { } @Test - void addNonExistingStudent() { + void updateGroupEmptyName() { + assertThrows(ResponseStatusException.class, + () -> studentGroupService.update("123", requestDtoEmptyName)); + } + + @Test + void addNonExistentStudent() { assertThrows(ResponseStatusException.class, () -> studentGroupService.addStudents("123", List.of("studentId3"))); } @Test - void addExistingStudent() { + void addExistentStudent() { assertDoesNotThrow(() -> studentGroupService.addStudents("123", List.of("studentId1"))); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); @@ -168,7 +284,7 @@ void removeStudent() { } @Test - void deleteExistingGroup() { + void deleteExistentGroup() { assertDoesNotThrow(() -> studentGroupService.delete("123")); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); verify(studentGroupRepository, times(1)).delete(studentGroupCap.capture()); @@ -178,70 +294,10 @@ void deleteExistingGroup() { } @Test - void deleteNonExistingGroup() { + void deleteNonExistentGroup() { assertThrows(ResponseStatusException.class, () -> studentGroupService.delete("123456")); } - @BeforeEach - void setUp() { - StudentGroup studentGroup1 = - new StudentGroup("Ethics", List.of("studentId0", "studentId1"), List.of(), - List.of()); - studentGroup1.setId("123"); - - StudentGroup studentGroup2 = - new StudentGroup("Religion", List.of("studentId1", "studentId2", "studentId3"), - List.of(), - List.of("T1", "T2")); - studentGroup2.setId("456"); - studentGroup2.setLessons(Collections.emptyList()); - - StudentGroup studentGroup3 = - new StudentGroup("testName", List.of("studentId1"), List.of("tagId1"), List.of("subjectId1")); - - Grade grade1 = new Grade("gradeId1"); - grade1.setStudentGroups(new ArrayList<>(List.of(studentGroup1, studentGroup2, studentGroup3))); - - when(gradeRepository.findAllById(List.of("gradeId1"))).thenReturn(List.of(grade1)); - - studentGroup1.setGrades(List.of(grade1)); - studentGroup2.setGrades(List.of(grade1)); - studentGroup3.setGrades(List.of(grade1)); - - Subject subject = new Subject("789"); - - Room room1 = new Room("534"); - Room room2 = new Room("574"); - - Teacher teacher1 = new Teacher("T1"); - Teacher teacher2 = new Teacher("T2"); - - Lesson lesson1 = createLesson(teacher1, room1, studentGroup1, "2024", subject); - Lesson lesson2 = createLesson(teacher2, room1, studentGroup1, "2022", subject); - Lesson lesson3 = createLesson(teacher1, room2, studentGroup2, "2024", subject); - - studentGroup1.setLessons(List.of(lesson1, lesson2, lesson3)); - - Student student = new Student("Firstname", "Lastname", List.of("tagId1")); - student.setId("studentId1"); - - Student student1 = new Student("Firstname1", "Lastname1", List.of("tagId1")); - student1.setId("studentId2"); - when(studentRepository.findById(student.getId())).thenReturn(Optional.of(student)); - when(studentRepository.findById(student1.getId())).thenReturn(Optional.of(student1)); - when(studentRepository.findAll()).thenReturn(List.of(student, student1)); - - Break[] breaks = {}; - Server server = - new Server(new TimetableMetadata(45, 8, "8:00", breaks), "2024", "test@uftos.de"); - when(serverRepository.findAll()).thenReturn(List.of(server)); - when(studentGroupRepository.findById("123")).thenReturn(Optional.of(studentGroup1)); - when(studentGroupRepository.findById("456")).thenReturn(Optional.of(studentGroup2)); - - studentGroup3.setId("789"); - when(studentGroupRepository.save(any(StudentGroup.class))).thenReturn(studentGroup3); - when(studentGroupRepository.findById("789")).thenReturn(Optional.of(studentGroup3)); - } private Lesson createLesson(Teacher teacher, Room room, StudentGroup studentGroup, String number, diff --git a/server/src/test/java/de/uftos/services/StudentServiceTest.java b/server/src/test/java/de/uftos/services/StudentServiceTest.java index 938f9c13e..7c67434f5 100644 --- a/server/src/test/java/de/uftos/services/StudentServiceTest.java +++ b/server/src/test/java/de/uftos/services/StudentServiceTest.java @@ -1,18 +1,25 @@ package de.uftos.services; +import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import de.uftos.dto.requestdtos.StudentRequestDto; +import de.uftos.dto.responsedtos.LessonResponseDto; +import de.uftos.entities.Lesson; +import de.uftos.entities.Room; +import de.uftos.entities.Server; import de.uftos.entities.Student; import de.uftos.entities.StudentGroup; import de.uftos.entities.Tag; +import de.uftos.repositories.database.ServerRepository; import de.uftos.repositories.database.StudentGroupRepository; import de.uftos.repositories.database.StudentRepository; import java.util.Collections; @@ -33,9 +40,15 @@ @ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) public class StudentServiceTest { + @Mock + private StudentGroup groupMock; + @Mock StudentGroupRepository studentGroupRepository; + @Mock + private ServerRepository serverRepository; + @Mock private StudentRepository studentRepository; @@ -50,8 +63,20 @@ void setUp() { StudentGroup group = new StudentGroup("group", List.of("123"), List.of(), List.of()); group.setId("groupId"); - Student student = new Student("123", "Max", "Mustermann", List.of(group), List.of(tag)); + Lesson lesson = + new Lesson(0, "teacherId", "groupId", "roomId", "timeslotId", "subjectId", "timetableId", + "2024"); + lesson.setStudentGroup(groupMock); + group.setLessons(List.of(lesson)); + + Student student = new Student("123", "Max", "Mustermann", List.of(groupMock), List.of(tag)); + when(groupMock.getGrades()).thenReturn(List.of()); + when(groupMock.getLessons()).thenReturn(List.of(lesson)); + when(groupMock.getStudents()).thenReturn(List.of(student)); + when(groupMock.getId()).thenReturn("groupId"); + Server server = new Server(null, "2024", "email"); + when(serverRepository.findAll()).thenReturn(List.of(server)); when(studentRepository.findAll()).thenReturn(List.of(student)); when(studentRepository.findById("123")).thenReturn(Optional.of(student)); when(studentGroupRepository.findByStudents(any(Student.class))).thenReturn( @@ -164,4 +189,31 @@ void deleteNonExistentStudent() { assertThrows(ResponseStatusException.class, () -> studentService.delete("nonExistentId")); } + @Test + void lessonsById() { + LessonResponseDto result = studentService.getLessonsById("123"); + assertResultArraySizes(result, 1, 1, 1, 0); + assertAll("Testing whether the sizes of the arrays are correct", + () -> assertEquals(1, result.groups().size()), + () -> assertEquals(1, result.groups().getFirst().students().size()), + () -> assertEquals("groupId", result.groups().getFirst().id()) + ); + + List roomIds = result.rooms().stream().map(Room::getId).toList(); + assertAll("Testing whether all the rooms are there", + () -> assertEquals(1, roomIds.size()), + () -> assertTrue(roomIds.contains("roomId")) + ); + } + + private void assertResultArraySizes(LessonResponseDto result, int teachers, int lessons, + int rooms, int grades) { + assertAll("Testing whether the sizes of the arrays are correct", + () -> assertEquals(teachers, result.teachers().size()), + () -> assertEquals(lessons, result.lessons().size()), + () -> assertEquals(rooms, result.rooms().size()), + () -> assertEquals(grades, result.grades().size()) + ); + } + } From bcc97755f3bc3693203a2139eafb82baccdd14b4 Mon Sep 17 00:00:00 2001 From: uojhd Date: Sun, 1 Sep 2024 11:37:57 +0200 Subject: [PATCH 03/10] small fixes from merge --- .../java/de/uftos/services/GradeServiceTests.java | 15 ++++++++------- .../java/de/uftos/services/RoomServiceTests.java | 7 ------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java index 3f8b6e680..42af39497 100644 --- a/server/src/test/java/de/uftos/services/GradeServiceTests.java +++ b/server/src/test/java/de/uftos/services/GradeServiceTests.java @@ -307,20 +307,21 @@ void updateGrade() { @Test void deleteExistentGrade() { - assertDoesNotThrow(() -> gradeService.deleteGrades(new String[] {"123"})); + assertDoesNotThrow(() -> gradeService.deleteGrades(new String[] {"567"})); ArgumentCaptor> gradeCap = ArgumentCaptor.forClass(getClassType()); verify(gradeRepository, times(1)).deleteAll(gradeCap.capture()); List grade = gradeCap.getValue(); assertEquals(1, grade.size()); - assertEquals("123", grade.getFirst().getId()); + assertEquals("567", grade.getFirst().getId()); + } + + @Test + void deleteGradeAssociatedWithGroup() { + assertThrows(ResponseStatusException.class, + () -> gradeService.deleteGrades(new String[] {"123"})); } -// @Test -// void deleteGradeAssociatedWithGroup() { -// assertThrows(ResponseStatusException.class, () -> gradeService.delete("123")); -// } -// // @Test // void deleteGrade() { // assertDoesNotThrow(() -> gradeService.delete("567")); diff --git a/server/src/test/java/de/uftos/services/RoomServiceTests.java b/server/src/test/java/de/uftos/services/RoomServiceTests.java index 2ba20d978..edf745ff6 100644 --- a/server/src/test/java/de/uftos/services/RoomServiceTests.java +++ b/server/src/test/java/de/uftos/services/RoomServiceTests.java @@ -173,13 +173,6 @@ void createRoomEmptyBuildingName() { assertThrows(ResponseStatusException.class, () -> roomService.create(requestDto)); } - @Test - void createRoomZeroCapacity() { - RoomRequestDto requestDto = - new RoomRequestDto("roomName", "buildingName", 0, List.of("tagId")); - assertThrows(ResponseStatusException.class, () -> roomService.create(requestDto)); - } - @Test void updateRoom() { From c4d442dc65a643ccf45706b25a998e0d11674e67 Mon Sep 17 00:00:00 2001 From: uojhd Date: Sun, 1 Sep 2024 15:36:15 +0200 Subject: [PATCH 04/10] Expanded server, subject and tag service tests --- .../de/uftos/services/SubjectService.java | 23 ++++++-- .../java/de/uftos/services/TagService.java | 36 +++++++++--- .../de/uftos/services/ServerServiceTests.java | 43 +++++++++++++- .../uftos/services/SubjectServiceTests.java | 47 +++++++++++++++- .../de/uftos/services/TagServiceTests.java | 56 ++++++++++++++++--- 5 files changed, 183 insertions(+), 22 deletions(-) diff --git a/server/src/main/java/de/uftos/services/SubjectService.java b/server/src/main/java/de/uftos/services/SubjectService.java index 10a02a99f..bfcfb3cec 100644 --- a/server/src/main/java/de/uftos/services/SubjectService.java +++ b/server/src/main/java/de/uftos/services/SubjectService.java @@ -17,6 +17,7 @@ import de.uftos.utils.ConstraintInstanceDeleter; import de.uftos.utils.LessonsDeleter; import de.uftos.utils.SpecificationBuilder; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -118,7 +119,9 @@ public Subject create(SubjectRequestDto subject) { List curricula = curriculumRepository.findAll(); for (Curriculum curriculum : curricula) { - curriculum.getLessonsCounts().add(new LessonsCount(subjectEntity.getId(), 0)); + List lessonsCounts = new ArrayList<>(curriculum.getLessonsCounts()); + lessonsCounts.add(new LessonsCount(subjectEntity.getId(), 0)); + curriculum.setLessonsCounts(lessonsCounts); } curriculumRepository.saveAll(curricula); @@ -166,8 +169,12 @@ public void deleteSubjects(String[] ids) { List curricula = curriculumRepository.findAll(curriculumSpecification); for (Curriculum curriculum : curricula) { - curriculum.getLessonsCounts() - .removeIf((lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); + List lessonsCounts = new ArrayList<>(curriculum.getLessonsCounts()); + lessonsCounts.removeIf( + (lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); + curriculum.setLessonsCounts(lessonsCounts); +// curriculum.getLessonsCounts() +// .removeIf((lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); } curriculumRepository.saveAll(curricula); @@ -176,7 +183,10 @@ public void deleteSubjects(String[] ids) { .build(); List teachers = teacherRepository.findAll(teacherSpecification); for (Teacher teacher : teachers) { - teacher.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); + List teacherSubjects = new ArrayList<>(teacher.getSubjects()); + teacherSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); + teacher.setSubjects(teacherSubjects); + //teacher.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } Specification studentGroupSpecification = new SpecificationBuilder() @@ -184,7 +194,10 @@ public void deleteSubjects(String[] ids) { .build(); List studentGroups = studentGroupRepository.findAll(studentGroupSpecification); for (StudentGroup studentGroup : studentGroups) { - studentGroup.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); + List groupSubjects = new ArrayList<>(studentGroup.getSubjects()); + groupSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); + studentGroup.setSubjects(groupSubjects); + //studentGroup.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } studentGroupRepository.saveAll(studentGroups); diff --git a/server/src/main/java/de/uftos/services/TagService.java b/server/src/main/java/de/uftos/services/TagService.java index 787bd9ddc..42d9bc395 100644 --- a/server/src/main/java/de/uftos/services/TagService.java +++ b/server/src/main/java/de/uftos/services/TagService.java @@ -21,6 +21,7 @@ import de.uftos.repositories.database.TimeslotRepository; import de.uftos.utils.ConstraintInstanceDeleter; import de.uftos.utils.SpecificationBuilder; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -157,43 +158,64 @@ public void deleteTags(String[] ids) { List students = studentRepository.findAllByTags(tagIds); for (Student student : students) { - student.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List studentTags = new ArrayList<>(student.getTags()); + studentTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + student.setTags(studentTags); + //student.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentRepository.saveAll(students); List teachers = teacherRepository.findAllByTags(tagIds); for (Teacher teacher : teachers) { - teacher.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List teacherTags = new ArrayList<>(teacher.getTags()); + teacherTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + teacher.setTags(teacherTags); + //teacher.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } teacherRepository.saveAll(teachers); List studentGroups = studentGroupRepository.findAllByTags(tagIds); for (StudentGroup group : studentGroups) { - group.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List groupTags = new ArrayList<>(group.getTags()); + groupTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + group.setTags(groupTags); + //group.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentGroupRepository.saveAll(studentGroups); List rooms = roomRepository.findAllByTags(tagIds); for (Room room : rooms) { - room.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List roomTags = new ArrayList<>(room.getTags()); + roomTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + room.setTags(roomTags); + //room.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } roomRepository.saveAll(rooms); List subjects = subjectRepository.findAllByTags(tagIds); for (Subject subject : subjects) { - subject.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List subjectTags = new ArrayList<>(subject.getTags()); + subjectTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + subject.setTags(subjectTags); + //subject.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } subjectRepository.saveAll(subjects); List grades = gradeRepository.findAllByTags(tagIds); for (Grade grade : grades) { - grade.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List gradeTags = new ArrayList<>(grade.getTags()); + gradeTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + grade.setTags(gradeTags); + //grade.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } gradeRepository.saveAll(grades); List timeslots = timeslotRepository.findAllByTags(tagIds); for (Timeslot timeslot : timeslots) { - timeslot.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); + List timeslotTags = new ArrayList<>(timeslot.getTags()); + timeslotTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); + timeslot.setTags(timeslotTags); + //timeslot.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } timeslotRepository.saveAll(timeslots); diff --git a/server/src/test/java/de/uftos/services/ServerServiceTests.java b/server/src/test/java/de/uftos/services/ServerServiceTests.java index 4820a7202..296a40bd4 100644 --- a/server/src/test/java/de/uftos/services/ServerServiceTests.java +++ b/server/src/test/java/de/uftos/services/ServerServiceTests.java @@ -6,9 +6,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import de.uftos.dto.Weekday; import de.uftos.dto.responsedtos.ServerStatisticsResponseDto; import de.uftos.entities.Break; import de.uftos.entities.Server; +import de.uftos.entities.Timeslot; import de.uftos.entities.TimetableMetadata; import de.uftos.repositories.database.ConstraintSignatureRepository; import de.uftos.repositories.database.GradeRepository; @@ -19,6 +21,7 @@ import de.uftos.repositories.database.TeacherRepository; import de.uftos.repositories.database.TimeslotRepository; import de.uftos.repositories.database.TimetableRepository; +import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -70,13 +73,21 @@ public class ServerServiceTests { void setUp() { Server server = new Server(new TimetableMetadata(45, 8, "7:45", new Break[] {}), "2024", "test@uftos.de"); + + List timeslotList = new ArrayList<>(); + for (Weekday weekday : Weekday.values()) { + for (int i = 0; i < 8; i++) { + timeslotList.add(new Timeslot(weekday, i, List.of())); + } + } + when(serverRepository.findAll()).thenReturn(List.of(server)); when(studentRepository.count()).thenReturn(1L); when(teacherRepository.count()).thenReturn(2L); when(gradeRepository.count()).thenReturn(3L); when(roomRepository.count()).thenReturn(4L); when(constraintSignatureRepository.count()).thenReturn(0L); - when(timeslotRepository.findAll()).thenReturn(List.of()); + when(timeslotRepository.findAll()).thenReturn(timeslotList); } @Test @@ -103,7 +114,7 @@ void getMetadata() { } @Test - void setMetadata() { + void setMetadataFewerTimeslots() { Break testBreak = new Break(false, 0, 15); TimetableMetadata newMetadata = new TimetableMetadata(90, 5, "8:00", new Break[] {testBreak}); serverService.setTimetableMetadata(newMetadata); @@ -116,5 +127,33 @@ void setMetadata() { assertEquals(server.getCurrentYear(), "2024"); } + @Test + void setMetadataSameTimeslotAmount() { + Break testBreak = new Break(false, 0, 15); + TimetableMetadata newMetadata = new TimetableMetadata(90, 8, "8:00", new Break[] {testBreak}); + serverService.setTimetableMetadata(newMetadata); + + ArgumentCaptor serverCap = ArgumentCaptor.forClass(Server.class); + verify(serverRepository, times(1)).save(serverCap.capture()); + + Server server = serverCap.getValue(); + assertEquals(server.getTimetableMetadata(), newMetadata); + assertEquals(server.getCurrentYear(), "2024"); + } + + @Test + void setMetadataMoreTimeslots() { + Break testBreak = new Break(false, 0, 15); + TimetableMetadata newMetadata = new TimetableMetadata(90, 10, "8:00", new Break[] {testBreak}); + serverService.setTimetableMetadata(newMetadata); + + ArgumentCaptor serverCap = ArgumentCaptor.forClass(Server.class); + verify(serverRepository, times(1)).save(serverCap.capture()); + + Server server = serverCap.getValue(); + assertEquals(server.getTimetableMetadata(), newMetadata); + assertEquals(server.getCurrentYear(), "2024"); + } + } diff --git a/server/src/test/java/de/uftos/services/SubjectServiceTests.java b/server/src/test/java/de/uftos/services/SubjectServiceTests.java index e9749d61c..e6b1bda2e 100644 --- a/server/src/test/java/de/uftos/services/SubjectServiceTests.java +++ b/server/src/test/java/de/uftos/services/SubjectServiceTests.java @@ -11,9 +11,15 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import de.uftos.dto.requestdtos.LessonsCountRequestDto; import de.uftos.dto.requestdtos.SubjectRequestDto; +import de.uftos.entities.Curriculum; +import de.uftos.entities.Grade; +import de.uftos.entities.LessonsCount; +import de.uftos.entities.StudentGroup; import de.uftos.entities.Subject; import de.uftos.entities.Tag; +import de.uftos.entities.Teacher; import de.uftos.repositories.database.ConstraintInstanceRepository; import de.uftos.repositories.database.ConstraintSignatureRepository; import de.uftos.repositories.database.CurriculumRepository; @@ -35,6 +41,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; +import org.springframework.data.jpa.domain.Specification; import org.springframework.web.server.ResponseStatusException; @SuppressWarnings("checkstyle:MissingJavadocType") @@ -88,8 +95,26 @@ void setUp() { when(subjectRepository.findAll()).thenReturn(List.of(subject)); when(subjectRepository.findById(SUBJECT_ID)).thenReturn(Optional.of(subject)); when(subjectRepository.findAllById(List.of(SUBJECT_ID))).thenReturn(List.of(subject)); - when(curriculumRepository.findAll()).thenReturn(new ArrayList<>()); + when(subjectRepository.findAllById(List.of("nonExistentId", SUBJECT_ID))).thenReturn( + List.of(subject)); + when(subjectRepository.save(any(Subject.class))).thenReturn(subject); + + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("123", 1); + Curriculum testCurriculum = new Curriculum(new Grade("gradeId"), "name", List.of(lessonsCount)); + when(curriculumRepository.findAll()).thenReturn(List.of(testCurriculum)); + when(curriculumRepository.findAll(any(Specification.class))).thenReturn( + List.of(testCurriculum)); + + Teacher teacherWithSubject = new Teacher("teacherId"); + teacherWithSubject.setSubjects(List.of(subject)); + when(teacherRepository.findAll(any(Specification.class))).thenReturn( + List.of(teacherWithSubject)); when(teacherRepository.findBySubjects(any(Subject.class))).thenReturn(Collections.emptyList()); + + StudentGroup groupWithSubject = new StudentGroup("groupId"); + groupWithSubject.setSubjects(List.of(subject)); + when(studentGroupRepository.findAll(any(Specification.class))).thenReturn( + List.of(groupWithSubject)); when(studentGroupRepository.findBySubjects(any(Subject.class))).thenReturn( Collections.emptyList()); } @@ -128,6 +153,13 @@ void createSubject() { assertEquals("tagId", subject.getTags().getFirst().getId()); } + @Test + void createSubjectEmptyName() { + SubjectRequestDto requestDto = + new SubjectRequestDto("", "blue", List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> subjectService.create(requestDto)); + } + @Test void updateSubject() { SubjectRequestDto requestDto = @@ -147,6 +179,13 @@ void updateSubject() { assertEquals("otherTagId", subject.getTags().getFirst().getId()); } + @Test + void updateSubjectEmptyName() { + SubjectRequestDto requestDto = + new SubjectRequestDto("", "blue", List.of("tagId")); + assertThrows(ResponseStatusException.class, () -> subjectService.update("123", requestDto)); + } + @Test void deleteExistentSubject() { assertDoesNotThrow(() -> subjectService.deleteSubjects(new String[] {SUBJECT_ID})); @@ -163,4 +202,10 @@ void deleteNonExistentSubject() { assertThrows(ResponseStatusException.class, () -> subjectService.deleteSubjects(new String[] {"nonExistentId"})); } + + @Test + void deleteSubjectsSomeExistent() { + assertThrows(ResponseStatusException.class, + () -> subjectService.deleteSubjects(new String[] {"nonExistentId", "123"})); + } } diff --git a/server/src/test/java/de/uftos/services/TagServiceTests.java b/server/src/test/java/de/uftos/services/TagServiceTests.java index 4744c1e09..6d28053ca 100644 --- a/server/src/test/java/de/uftos/services/TagServiceTests.java +++ b/server/src/test/java/de/uftos/services/TagServiceTests.java @@ -12,8 +12,15 @@ import de.uftos.dto.requestdtos.TagRequestDto; import de.uftos.entities.Break; +import de.uftos.entities.Grade; +import de.uftos.entities.Room; import de.uftos.entities.Server; +import de.uftos.entities.Student; +import de.uftos.entities.StudentGroup; +import de.uftos.entities.Subject; import de.uftos.entities.Tag; +import de.uftos.entities.Teacher; +import de.uftos.entities.Timeslot; import de.uftos.entities.TimetableMetadata; import de.uftos.repositories.database.ConstraintInstanceRepository; import de.uftos.repositories.database.ConstraintSignatureRepository; @@ -90,13 +97,34 @@ void setUp() { when(serverRepository.findAll()).thenReturn(List.of(server)); when(tagRepository.findById("123")).thenReturn(Optional.of(tag)); when(tagRepository.findAllById(List.of("123"))).thenReturn(List.of(tag)); - when(teacherRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(studentGroupRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(studentRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(roomRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(subjectRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(gradeRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); - when(timeslotRepository.findByTags(any(Tag.class))).thenReturn(Collections.emptyList()); + + Teacher teacherWithTag = new Teacher("teacherId"); + teacherWithTag.setTags(List.of(tag)); + when(teacherRepository.findAllByTags(List.of("123"))).thenReturn(List.of(teacherWithTag)); + + StudentGroup groupWithTag = new StudentGroup("groupId"); + groupWithTag.setTags(List.of(tag)); + when(studentGroupRepository.findAllByTags(List.of("123"))).thenReturn(List.of(groupWithTag)); + + Student studentWithTag = new Student("studentId"); + studentWithTag.setTags(List.of(tag)); + when(studentRepository.findAllByTags(List.of("123"))).thenReturn(List.of(studentWithTag)); + + Room roomWithTag = new Room("roomId"); + roomWithTag.setTags(List.of(tag)); + when(roomRepository.findAllByTags(List.of("123"))).thenReturn(List.of(roomWithTag)); + + Subject subjectWithTag = new Subject("subjectId"); + subjectWithTag.setTags(List.of(tag)); + when(subjectRepository.findAllByTags(List.of("123"))).thenReturn(List.of(subjectWithTag)); + + Grade gradeWithTag = new Grade("gradeId"); + gradeWithTag.setTags(List.of(tag)); + when(gradeRepository.findAllByTags(List.of("123"))).thenReturn(List.of(gradeWithTag)); + + Timeslot timeslotWithTag = new Timeslot("timeslotId"); + timeslotWithTag.setTags(List.of(tag)); + when(timeslotRepository.findAllByTags(List.of("123"))).thenReturn(List.of(timeslotWithTag)); } @Test @@ -128,6 +156,20 @@ void createTag() { assertEquals("Wheelchair", tag.getName()); } + @Test + void createTagEmptyName() { + TagRequestDto requestDto = + new TagRequestDto(""); + assertThrows(ResponseStatusException.class, () -> tagService.create(requestDto)); + } + + @Test + void updateTagEmptyName() { + TagRequestDto requestDto = + new TagRequestDto(""); + assertThrows(ResponseStatusException.class, () -> tagService.update("123", requestDto)); + } + @Test void updateTag() { TagRequestDto requestDto = From 2b8d092e06b935c9112f02de59284f4ab35a8d13 Mon Sep 17 00:00:00 2001 From: uojhd Date: Sun, 1 Sep 2024 17:29:10 +0200 Subject: [PATCH 05/10] More tests for group, student, constraintInstance and curriculum services --- .../uftos/services/StudentGroupService.java | 8 ++- .../de/uftos/services/StudentService.java | 4 +- .../java/de/uftos/services/TagService.java | 7 --- .../ConstraintInstanceServiceTest.java | 54 +++++++++++++++++++ .../services/CurriculumServiceTests.java | 38 +++++++++++++ .../de/uftos/services/GradeServiceTests.java | 2 + .../services/StudentGroupServiceTests.java | 23 ++++++-- .../de/uftos/services/StudentServiceTest.java | 18 ++++++- 8 files changed, 137 insertions(+), 17 deletions(-) diff --git a/server/src/main/java/de/uftos/services/StudentGroupService.java b/server/src/main/java/de/uftos/services/StudentGroupService.java index 8707500df..2d0b0b92d 100644 --- a/server/src/main/java/de/uftos/services/StudentGroupService.java +++ b/server/src/main/java/de/uftos/services/StudentGroupService.java @@ -140,7 +140,9 @@ public StudentGroupResponseDto create(StudentGroupRequestDto rawGroup) { "Could not find all grades by id"); } for (Grade grade : grades) { - grade.getStudentGroups().add(studentGroup); + List groups = new ArrayList<>(grade.getStudentGroups()); + groups.add(studentGroup); + grade.setStudentGroups(groups); this.gradeRepository.save(grade); } @@ -237,7 +239,9 @@ public void delete(String id) { List grades = gradeRepository.findByStudentGroups(group.get()); for (Grade grade : grades) { - grade.getStudentGroups().removeIf(group1 -> group1.getId().equals(id)); + List groups = new ArrayList<>(grade.getStudentGroups()); + groups.removeIf(group1 -> group1.getId().equals(id)); + grade.setStudentGroups(groups); } gradeRepository.saveAll(grades); diff --git a/server/src/main/java/de/uftos/services/StudentService.java b/server/src/main/java/de/uftos/services/StudentService.java index 34568e789..4a7e9fdc4 100644 --- a/server/src/main/java/de/uftos/services/StudentService.java +++ b/server/src/main/java/de/uftos/services/StudentService.java @@ -160,7 +160,9 @@ public void deleteStudents(String[] ids) { List studentGroups = this.studentGroupRepository.findAll(groupSpecification); for (StudentGroup group : studentGroups) { - group.getStudents().removeIf(students::contains); + List groupStudents = new ArrayList<>(group.getStudents()); + groupStudents.removeIf(students::contains); + group.setStudents(groupStudents); } studentGroupRepository.saveAll(studentGroups); diff --git a/server/src/main/java/de/uftos/services/TagService.java b/server/src/main/java/de/uftos/services/TagService.java index 42d9bc395..b76ef004a 100644 --- a/server/src/main/java/de/uftos/services/TagService.java +++ b/server/src/main/java/de/uftos/services/TagService.java @@ -161,7 +161,6 @@ public void deleteTags(String[] ids) { List studentTags = new ArrayList<>(student.getTags()); studentTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); student.setTags(studentTags); - //student.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentRepository.saveAll(students); @@ -170,7 +169,6 @@ public void deleteTags(String[] ids) { List teacherTags = new ArrayList<>(teacher.getTags()); teacherTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); teacher.setTags(teacherTags); - //teacher.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } teacherRepository.saveAll(teachers); @@ -179,7 +177,6 @@ public void deleteTags(String[] ids) { List groupTags = new ArrayList<>(group.getTags()); groupTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); group.setTags(groupTags); - //group.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentGroupRepository.saveAll(studentGroups); @@ -188,7 +185,6 @@ public void deleteTags(String[] ids) { List roomTags = new ArrayList<>(room.getTags()); roomTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); room.setTags(roomTags); - //room.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } roomRepository.saveAll(rooms); @@ -197,7 +193,6 @@ public void deleteTags(String[] ids) { List subjectTags = new ArrayList<>(subject.getTags()); subjectTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); subject.setTags(subjectTags); - //subject.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } subjectRepository.saveAll(subjects); @@ -206,7 +201,6 @@ public void deleteTags(String[] ids) { List gradeTags = new ArrayList<>(grade.getTags()); gradeTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); grade.setTags(gradeTags); - //grade.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } gradeRepository.saveAll(grades); @@ -215,7 +209,6 @@ public void deleteTags(String[] ids) { List timeslotTags = new ArrayList<>(timeslot.getTags()); timeslotTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); timeslot.setTags(timeslotTags); - //timeslot.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } timeslotRepository.saveAll(timeslots); diff --git a/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java b/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java index 401be7665..b6f873b4c 100644 --- a/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java +++ b/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java @@ -5,6 +5,8 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -51,6 +53,10 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.web.server.ResponseStatusException; @SuppressWarnings("checkstyle:MissingJavadocType") @@ -260,11 +266,19 @@ void setUp() { Optional.of(constraintInstanceInvalidArgs)); when(constraintSignatureRepository.findById(constraintSignature.getName())).thenReturn( Optional.of(constraintSignature)); + + Page instancePage = new PageImpl<>(List.of(constraintInstance)); + when(constraintInstanceRepository.findByArguments(eq("teacherArgId"), + any(Pageable.class))).thenReturn(instancePage); + when( constraintSignatureRepository.findById(constraintSignatureManyParams.getName())).thenReturn( Optional.of(constraintSignatureManyParams)); when(constraintSignatureRepository.findById(constraintSignatureInvalid.getName())).thenReturn( Optional.of(constraintSignatureInvalid)); + when(constraintSignatureRepository.findInstancesBySignatureId(eq("test constraint"), + any(Pageable.class))).thenReturn(instancePage); + Timeslot timeslot = new Timeslot("timeslotId1"); timeslot.setDay(Weekday.TUESDAY); @@ -331,6 +345,35 @@ void nonExistentParameter() { () -> constraintInstanceService.create("test constraint", constraintInstanceRequestDto)); } + @Test + void getConstraintInstancesNoArgs() { + ConstraintInstancesResponseDto result = + constraintInstanceService.get("test constraint", PageRequest.of(0, 10), Optional.empty()); + assertEquals(1, result.totalElements()); + List instances = result.constraintInstances(); + assertEquals("123", instances.getFirst().id()); + } + + @Test + void getConstraintInstancesWithArgs() { + ConstraintInstancesResponseDto result = + constraintInstanceService.get("test constraint", PageRequest.of(0, 10), + Optional.of("teacherArgId")); + assertEquals(1, result.totalElements()); + List instances = result.constraintInstances(); + assertEquals("123", instances.getFirst().id()); + } + + @Test + void getConstraintInstancesWithEmptyArg() { + ConstraintInstancesResponseDto result = + constraintInstanceService.get("test constraint", PageRequest.of(0, 10), + Optional.of("")); + assertEquals(1, result.totalElements()); + List instances = result.constraintInstances(); + assertEquals("123", instances.getFirst().id()); + } + @Test void tooManyParameter() { ConstraintArgumentRequestDto arg1 = @@ -355,6 +398,17 @@ void createConstraintInstance() { () -> constraintInstanceService.create("test constraint", constraintInstanceRequestDto)); } + @Test + void createConstraintInstanceInvalidSignatureId() { + ConstraintArgumentRequestDto arg = + new ConstraintArgumentRequestDto("teacher123", "teacherId1"); + ConstraintInstanceRequestDto constraintInstanceRequestDto = + new ConstraintInstanceRequestDto(List.of(arg), RewardPenalize.HARD_PENALIZE); + + assertThrows(ResponseStatusException.class, + () -> constraintInstanceService.create("nonExistentId", constraintInstanceRequestDto)); + } + @Test void createConstraintInstanceWrongParamName() { ConstraintArgumentRequestDto arg = diff --git a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java index 71c4e3fc9..1baad34ee 100644 --- a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java +++ b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java @@ -78,6 +78,7 @@ void setUp() { newGrade.setId("newGrade"); LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Mathe", 4); + LessonsCountRequestDto otherLessonCount = new LessonsCountRequestDto("OtherSubject", 4); Curriculum curriculum1 = new Curriculum(testGrade, "EmptyCurriculum", List.of()); curriculum1.setId("123"); @@ -85,6 +86,9 @@ void setUp() { curriculum2.setId("456"); Curriculum curriculum3 = new Curriculum(newGrade, "UpdateCurriculum", List.of(lessonsCount)); curriculum3.setId("234"); + Curriculum curriculumMultipleLessonsCounts = + new Curriculum(newGrade, "UpdateCurriculum", List.of(lessonsCount, otherLessonCount)); + curriculumMultipleLessonsCounts.setId("multipleCounts"); Curriculum testCurriculum = new Curriculum(testGrade, "testName", List.of(lessonsCount)); @@ -100,6 +104,8 @@ void setUp() { when(curriculumRepository.findById("123")).thenReturn(Optional.of(curriculum1)); when(curriculumRepository.findById("456")).thenReturn(Optional.of(curriculum2)); when(curriculumRepository.findById("234")).thenReturn(Optional.of(curriculum3)); + when(curriculumRepository.findById("multipleCounts")).thenReturn( + Optional.of(curriculumMultipleLessonsCounts)); when(curriculumRepository.save(any(Curriculum.class))).thenReturn(testCurriculum); } @@ -173,6 +179,38 @@ void updateCurriculum() { assertEquals(1, curriculum.getLessonsCounts().size()); } + @Test + void updateCurriculumMultipleLessonsCounts() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Mathe", 5); + LessonsCountRequestDto otherCount = new LessonsCountRequestDto("OtherSubject", 5); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("newGrade", "newName", List.of(lessonsCount, otherCount)); + curriculumService.update("multipleCounts", requestDto); + + Curriculum curriculum = curriculumRepository.findById("multipleCounts").get(); + assertNotNull(curriculum); + + assertEquals(newGrade, curriculum.getGrade()); + + assertEquals(2, curriculum.getLessonsCounts().size()); + } + + @Test + void updateCurriculumInconsistentLessonCountAmounts() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Mathe", 5); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("newGrade", "newName", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, () -> curriculumService.update("123", requestDto)); + } + + @Test + void updateCurriculumInconsistentLessonCountSubjects() { + LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("OtherSubject", 5); + CurriculumRequestDto requestDto = + new CurriculumRequestDto("newGrade", "newName", List.of(lessonsCount)); + assertThrows(ResponseStatusException.class, () -> curriculumService.update("234", requestDto)); + } + @Test void updateCurriculumNonExistent() { LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("Physik", 4); diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java index 42af39497..77afda8b3 100644 --- a/server/src/test/java/de/uftos/services/GradeServiceTests.java +++ b/server/src/test/java/de/uftos/services/GradeServiceTests.java @@ -174,6 +174,8 @@ void setUp() { studentGroup1.setGrades(List.of(grade1Mock)); studentGroup2.setGrades(List.of(grade1Mock)); + when(subjectRepository.findAll()).thenReturn(List.of(subject)); + Break[] breaks = {}; Server server = new Server(new TimetableMetadata(45, 8, "8:00", breaks), "2024", "test@uftos.de"); diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java index ac4c68baf..16caa9efe 100644 --- a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java +++ b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java @@ -115,11 +115,20 @@ void setUp() { List.of("subjectId1")); Grade grade1 = new Grade("gradeId1"); - grade1.setStudentGroups(new ArrayList<>(List.of(studentGroup1, studentGroup2, studentGroup3))); + grade1.setStudentGroups(List.of(studentGroup1, studentGroup2, studentGroup3)); + + Grade gradeEmpty = new Grade("emptyGrade"); + gradeEmpty.setStudentGroups(List.of(studentGroup1)); when(gradeRepository.findAllById(List.of("gradeId1"))).thenReturn(List.of(grade1)); + when(gradeRepository.findAllById(List.of("gradeId1", "emptyGrade"))).thenReturn( + List.of(gradeEmpty, grade1)); + when(gradeRepository.findAllById( + List.of("noGroupsId", "gradeForUpdate", "emptyGrade"))).thenReturn( + List.of(gradeEmpty, grade1)); + - studentGroup1.setGrades(List.of(grade1)); + studentGroup1.setGrades(List.of(grade1, gradeEmpty)); studentGroup2.setGrades(List.of(grade1)); studentGroup3.setGrades(List.of(grade1)); @@ -159,6 +168,9 @@ void setUp() { studentGroup3.setId("789"); when(studentGroupRepository.save(any(StudentGroup.class))).thenReturn(studentGroup3); when(studentGroupRepository.findById("789")).thenReturn(Optional.of(studentGroup3)); + + when(gradeRepository.findByStudentGroups(studentGroup1)).thenReturn( + List.of(grade1, gradeEmpty)); } @Test @@ -174,8 +186,9 @@ void getByExistentId() { assertEquals(2, result.students().size()); assertEquals("studentId0", result.students().getFirst().getId()); assertEquals("studentId1", result.students().get(1).getId()); - assertEquals(1, result.grades().size()); + assertEquals(2, result.grades().size()); assertEquals("gradeId1", result.grades().getFirst().id()); + assertEquals("emptyGrade", result.grades().get(1).id()); assertEquals(0, result.tags().size()); } @@ -189,7 +202,7 @@ void emptyLessons() { @Test void lessonsById() { LessonResponseDto result = studentGroupService.getLessonsById("123"); - assertResultArraySizes(result, 1, 2, 2, 1); + assertResultArraySizes(result, 1, 2, 2, 2); assertAll("Testing whether the sizes of the arrays are correct", () -> assertEquals(3, result.grades().getFirst().studentGroupIds().size()), () -> assertEquals(4, result.grades().getFirst().studentIds().size()) @@ -250,7 +263,7 @@ void createGroupInvalidGrade() { void updateGroup() { StudentGroupRequestDto requestDto = new StudentGroupRequestDto("Ethics2", List.of("studentId0", "studentId1"), - List.of("noGroupsId", "gradeForUpdate"), List.of(), List.of()); + List.of("noGroupsId", "gradeForUpdate", "emptyGrade"), List.of(), List.of()); studentGroupService.update("123", requestDto); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); diff --git a/server/src/test/java/de/uftos/services/StudentServiceTest.java b/server/src/test/java/de/uftos/services/StudentServiceTest.java index 4803c68b8..df4136da6 100644 --- a/server/src/test/java/de/uftos/services/StudentServiceTest.java +++ b/server/src/test/java/de/uftos/services/StudentServiceTest.java @@ -73,12 +73,17 @@ void setUp() { new Lesson(0, "teacherId", "groupId", "roomId", "timeslotId", "subjectId", "timetableId", "2024"); lesson.setStudentGroup(groupMock); - group.setLessons(List.of(lesson)); + + Lesson lessonWrongYear = + new Lesson(0, "teacherId", "groupId", "roomId", "timeslotId", "subjectId", "timetableId", + "1865"); + lessonWrongYear.setStudentGroup(groupMock); + group.setLessons(List.of(lesson, lessonWrongYear)); Student student = new Student("123", "Max", "Mustermann", List.of(groupMock), List.of(tag)); when(groupMock.getGrades()).thenReturn(List.of()); - when(groupMock.getLessons()).thenReturn(List.of(lesson)); + when(groupMock.getLessons()).thenReturn(List.of(lesson, lessonWrongYear)); when(groupMock.getStudents()).thenReturn(List.of(student)); when(groupMock.getId()).thenReturn("groupId"); Server server = new Server(null, "2024", "email"); @@ -86,10 +91,13 @@ void setUp() { when(studentRepository.findAll()).thenReturn(List.of(student)); when(studentRepository.findById("123")).thenReturn(Optional.of(student)); when(studentRepository.findAllById(List.of("123"))).thenReturn(List.of(student)); + when(studentRepository.findAllById(List.of("nonExistentId", "123"))).thenReturn( + List.of(student)); when(constraintSignatureRepository.findAll(any(Specification.class))).thenReturn( Collections.emptyList()); when(studentGroupRepository.findByStudents(any(Student.class))).thenReturn( Collections.emptyList()); + when(studentGroupRepository.findAll(any(Specification.class))).thenReturn(List.of(groupMock)); when(studentRepository.save(any(Student.class))).thenReturn(student); } @@ -200,6 +208,12 @@ void deleteNonExistentStudent() { () -> studentService.deleteStudents(new String[] {"nonExistentId"})); } + @Test + void deleteStudentsSomeExistent() { + assertThrows(ResponseStatusException.class, + () -> studentService.deleteStudents(new String[] {"nonExistentId", "123"})); + } + @Test void lessonsById() { LessonResponseDto result = studentService.getLessonsById("123"); From d1b71a9fc28f762ebe52486015ac32443e32dd54 Mon Sep 17 00:00:00 2001 From: uojhd Date: Sun, 1 Sep 2024 18:36:04 +0200 Subject: [PATCH 06/10] Checkstyle --- .../main/java/de/uftos/services/SubjectService.java | 5 +---- .../java/de/uftos/services/GradeServiceTests.java | 11 ----------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/server/src/main/java/de/uftos/services/SubjectService.java b/server/src/main/java/de/uftos/services/SubjectService.java index bfcfb3cec..fbba30741 100644 --- a/server/src/main/java/de/uftos/services/SubjectService.java +++ b/server/src/main/java/de/uftos/services/SubjectService.java @@ -173,8 +173,7 @@ public void deleteSubjects(String[] ids) { lessonsCounts.removeIf( (lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); curriculum.setLessonsCounts(lessonsCounts); -// curriculum.getLessonsCounts() -// .removeIf((lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); + } curriculumRepository.saveAll(curricula); @@ -186,7 +185,6 @@ public void deleteSubjects(String[] ids) { List teacherSubjects = new ArrayList<>(teacher.getSubjects()); teacherSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); teacher.setSubjects(teacherSubjects); - //teacher.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } Specification studentGroupSpecification = new SpecificationBuilder() @@ -197,7 +195,6 @@ public void deleteSubjects(String[] ids) { List groupSubjects = new ArrayList<>(studentGroup.getSubjects()); groupSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); studentGroup.setSubjects(groupSubjects); - //studentGroup.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } studentGroupRepository.saveAll(studentGroups); diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java index 77afda8b3..d9350e2af 100644 --- a/server/src/test/java/de/uftos/services/GradeServiceTests.java +++ b/server/src/test/java/de/uftos/services/GradeServiceTests.java @@ -185,7 +185,6 @@ void setUp() { when(studentGroupRepository.findAllByGrades(List.of("123"))).thenReturn( List.of(studentGroup1, studentGroup2)); when(gradeRepository.findById("123")).thenReturn(Optional.of(grade1Mock)); - when(gradeRepository.findAllById(List.of("123"))).thenReturn(List.of(grade1Mock)); when(gradeRepository.findById("456")).thenReturn(Optional.of(grade2Mock)); when(gradeRepository.findById("567")).thenReturn(Optional.of(grade3Mock)); when(gradeRepository.save(any(Grade.class))).thenReturn(gradeForCreateAndUpdateMock); @@ -324,16 +323,6 @@ void deleteGradeAssociatedWithGroup() { () -> gradeService.deleteGrades(new String[] {"123"})); } -// @Test -// void deleteGrade() { -// assertDoesNotThrow(() -> gradeService.delete("567")); -// ArgumentCaptor gradeCap = ArgumentCaptor.forClass(Grade.class); -// verify(gradeRepository, times(1)).delete(gradeCap.capture()); -// -// Grade grade = gradeCap.getValue(); -// assertEquals("567", grade.getId()); -// } - @Test void deleteNonExistentGrade() { assertThrows(ResponseStatusException.class, From da8e422720323296f5f71c4e2fc8075d076019b3 Mon Sep 17 00:00:00 2001 From: uojhd Date: Mon, 2 Sep 2024 10:52:56 +0200 Subject: [PATCH 07/10] undo changes related to immutable lists --- .../uftos/services/StudentGroupService.java | 16 +--- .../de/uftos/services/StudentService.java | 4 +- .../de/uftos/services/SubjectService.java | 21 ++--- .../java/de/uftos/services/TagService.java | 28 ++----- .../services/StudentGroupServiceTests.java | 77 +++++++++++-------- .../de/uftos/services/StudentServiceTest.java | 40 ++++++---- .../uftos/services/SubjectServiceTests.java | 35 +++++---- .../de/uftos/services/TagServiceTests.java | 41 ++++++---- 8 files changed, 129 insertions(+), 133 deletions(-) diff --git a/server/src/main/java/de/uftos/services/StudentGroupService.java b/server/src/main/java/de/uftos/services/StudentGroupService.java index 2d0b0b92d..71ebde746 100644 --- a/server/src/main/java/de/uftos/services/StudentGroupService.java +++ b/server/src/main/java/de/uftos/services/StudentGroupService.java @@ -140,9 +140,7 @@ public StudentGroupResponseDto create(StudentGroupRequestDto rawGroup) { "Could not find all grades by id"); } for (Grade grade : grades) { - List groups = new ArrayList<>(grade.getStudentGroups()); - groups.add(studentGroup); - grade.setStudentGroups(groups); + grade.getStudentGroups().add(studentGroup); this.gradeRepository.save(grade); } @@ -170,9 +168,7 @@ public StudentGroupResponseDto update(String id, StudentGroupRequestDto groupReq List oldGrades = this.gradeRepository.findByStudentGroups(group); for (Grade oldGrade : oldGrades) { if (!groupRequest.gradeIds().contains(oldGrade.getId())) { - List oldGradeGroups = new ArrayList<>(oldGrade.getStudentGroups()); - oldGradeGroups.remove(group); - oldGrade.setStudentGroups(oldGradeGroups); + oldGrade.getStudentGroups().remove(group); } } this.gradeRepository.saveAll(oldGrades); @@ -183,9 +179,7 @@ public StudentGroupResponseDto update(String id, StudentGroupRequestDto groupReq if (grade.getStudentGroups().contains(group)) { continue; } - List groups = new ArrayList<>(grade.getStudentGroups()); - groups.add(group); - grade.setStudentGroups(groups); + grade.getStudentGroups().add(group); } this.gradeRepository.saveAll(grades); @@ -239,9 +233,7 @@ public void delete(String id) { List grades = gradeRepository.findByStudentGroups(group.get()); for (Grade grade : grades) { - List groups = new ArrayList<>(grade.getStudentGroups()); - groups.removeIf(group1 -> group1.getId().equals(id)); - grade.setStudentGroups(groups); + grade.getStudentGroups().removeIf(group1 -> group1.getId().equals(id)); } gradeRepository.saveAll(grades); diff --git a/server/src/main/java/de/uftos/services/StudentService.java b/server/src/main/java/de/uftos/services/StudentService.java index 4a7e9fdc4..34568e789 100644 --- a/server/src/main/java/de/uftos/services/StudentService.java +++ b/server/src/main/java/de/uftos/services/StudentService.java @@ -160,9 +160,7 @@ public void deleteStudents(String[] ids) { List studentGroups = this.studentGroupRepository.findAll(groupSpecification); for (StudentGroup group : studentGroups) { - List groupStudents = new ArrayList<>(group.getStudents()); - groupStudents.removeIf(students::contains); - group.setStudents(groupStudents); + group.getStudents().removeIf(students::contains); } studentGroupRepository.saveAll(studentGroups); diff --git a/server/src/main/java/de/uftos/services/SubjectService.java b/server/src/main/java/de/uftos/services/SubjectService.java index fbba30741..b220925a3 100644 --- a/server/src/main/java/de/uftos/services/SubjectService.java +++ b/server/src/main/java/de/uftos/services/SubjectService.java @@ -117,11 +117,11 @@ public Subject create(SubjectRequestDto subject) { Subject subjectEntity = this.repository.save(subject.map()); List curricula = curriculumRepository.findAll(); + System.out.println(curricula.getFirst().getName()); + System.out.println(curricula.size()); for (Curriculum curriculum : curricula) { - List lessonsCounts = new ArrayList<>(curriculum.getLessonsCounts()); - lessonsCounts.add(new LessonsCount(subjectEntity.getId(), 0)); - curriculum.setLessonsCounts(lessonsCounts); + curriculum.getLessonsCounts().add(new LessonsCount(subjectEntity.getId(), 0)); } curriculumRepository.saveAll(curricula); @@ -169,11 +169,8 @@ public void deleteSubjects(String[] ids) { List curricula = curriculumRepository.findAll(curriculumSpecification); for (Curriculum curriculum : curricula) { - List lessonsCounts = new ArrayList<>(curriculum.getLessonsCounts()); - lessonsCounts.removeIf( - (lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); - curriculum.setLessonsCounts(lessonsCounts); - + curriculum.getLessonsCounts() + .removeIf((lessonsCount) -> subjectIds.contains(lessonsCount.getSubject().getId())); } curriculumRepository.saveAll(curricula); @@ -182,9 +179,7 @@ public void deleteSubjects(String[] ids) { .build(); List teachers = teacherRepository.findAll(teacherSpecification); for (Teacher teacher : teachers) { - List teacherSubjects = new ArrayList<>(teacher.getSubjects()); - teacherSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); - teacher.setSubjects(teacherSubjects); + teacher.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } Specification studentGroupSpecification = new SpecificationBuilder() @@ -192,9 +187,7 @@ public void deleteSubjects(String[] ids) { .build(); List studentGroups = studentGroupRepository.findAll(studentGroupSpecification); for (StudentGroup studentGroup : studentGroups) { - List groupSubjects = new ArrayList<>(studentGroup.getSubjects()); - groupSubjects.removeIf(subject1 -> subjectIds.contains(subject1.getId())); - studentGroup.setSubjects(groupSubjects); + studentGroup.getSubjects().removeIf(subject1 -> subjectIds.contains(subject1.getId())); } studentGroupRepository.saveAll(studentGroups); diff --git a/server/src/main/java/de/uftos/services/TagService.java b/server/src/main/java/de/uftos/services/TagService.java index b76ef004a..041bee784 100644 --- a/server/src/main/java/de/uftos/services/TagService.java +++ b/server/src/main/java/de/uftos/services/TagService.java @@ -158,57 +158,43 @@ public void deleteTags(String[] ids) { List students = studentRepository.findAllByTags(tagIds); for (Student student : students) { - List studentTags = new ArrayList<>(student.getTags()); - studentTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - student.setTags(studentTags); + student.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentRepository.saveAll(students); List teachers = teacherRepository.findAllByTags(tagIds); for (Teacher teacher : teachers) { - List teacherTags = new ArrayList<>(teacher.getTags()); - teacherTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - teacher.setTags(teacherTags); + teacher.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } teacherRepository.saveAll(teachers); List studentGroups = studentGroupRepository.findAllByTags(tagIds); for (StudentGroup group : studentGroups) { - List groupTags = new ArrayList<>(group.getTags()); - groupTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - group.setTags(groupTags); + group.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } studentGroupRepository.saveAll(studentGroups); List rooms = roomRepository.findAllByTags(tagIds); for (Room room : rooms) { - List roomTags = new ArrayList<>(room.getTags()); - roomTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - room.setTags(roomTags); + room.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } roomRepository.saveAll(rooms); List subjects = subjectRepository.findAllByTags(tagIds); for (Subject subject : subjects) { - List subjectTags = new ArrayList<>(subject.getTags()); - subjectTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - subject.setTags(subjectTags); + subject.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } subjectRepository.saveAll(subjects); List grades = gradeRepository.findAllByTags(tagIds); for (Grade grade : grades) { - List gradeTags = new ArrayList<>(grade.getTags()); - gradeTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - grade.setTags(gradeTags); + grade.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } gradeRepository.saveAll(grades); List timeslots = timeslotRepository.findAllByTags(tagIds); for (Timeslot timeslot : timeslots) { - List timeslotTags = new ArrayList<>(timeslot.getTags()); - timeslotTags.removeIf(tag1 -> tagIds.contains(tag1.getId())); - timeslot.setTags(timeslotTags); + timeslot.getTags().removeIf(tag1 -> tagIds.contains(tag1.getId())); } timeslotRepository.saveAll(timeslots); diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java index 16caa9efe..4fd8498b1 100644 --- a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java +++ b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java @@ -54,15 +54,18 @@ @MockitoSettings(strictness = Strictness.LENIENT) public class StudentGroupServiceTests { private final StudentGroupRequestDto requestDto = - new StudentGroupRequestDto("testName", List.of("studentId1"), List.of("gradeId1"), - List.of("tagId1"), List.of("subjectId1")); + new StudentGroupRequestDto("testName", new ArrayList<>(List.of("studentId1")), + new ArrayList<>(List.of("gradeId1")), + new ArrayList<>(List.of("tagId1")), new ArrayList<>(List.of("subjectId1"))); private final StudentGroupRequestDto requestDtoEmptyName = - new StudentGroupRequestDto("", List.of("studentId1"), List.of("gradeId1"), - List.of("tagId1"), List.of("subjectId1")); + new StudentGroupRequestDto("", new ArrayList<>(List.of("studentId1")), + new ArrayList<>(List.of("gradeId1")), + new ArrayList<>(List.of("tagId1")), new ArrayList<>(List.of("subjectId1"))); private final StudentGroupRequestDto requestDtoInvalidGrade = - new StudentGroupRequestDto("groupName", List.of("studentId1"), List.of("nonExistentGrade"), - List.of("tagId1"), List.of("subjectId1")); + new StudentGroupRequestDto("groupName", new ArrayList<>(List.of("studentId1")), + new ArrayList<>(List.of("nonExistentGrade")), + new ArrayList<>(List.of("tagId1")), new ArrayList<>(List.of("subjectId1"))); @Mock private Grade gradeNoGroupsMock; @@ -99,38 +102,42 @@ public class StudentGroupServiceTests { @BeforeEach void setUp() { StudentGroup studentGroup1 = - new StudentGroup("Ethics", List.of("studentId0", "studentId1"), List.of(), - List.of()); + new StudentGroup("Ethics", new ArrayList<>(List.of("studentId0", "studentId1")), + Collections.emptyList(), + Collections.emptyList()); studentGroup1.setId("123"); StudentGroup studentGroup2 = - new StudentGroup("Religion", List.of("studentId1", "studentId2", "studentId3"), - List.of(), - List.of("T1", "T2")); + new StudentGroup("Religion", + new ArrayList<>(List.of("studentId1", "studentId2", "studentId3")), + Collections.emptyList(), new ArrayList<>(List.of("T1", "T2"))); studentGroup2.setId("456"); studentGroup2.setLessons(Collections.emptyList()); StudentGroup studentGroup3 = - new StudentGroup("testName", List.of("studentId1"), List.of("tagId1"), - List.of("subjectId1")); + new StudentGroup("testName", new ArrayList<>(List.of("studentId1")), + new ArrayList<>(List.of("tagId1")), + new ArrayList<>(List.of("subjectId1"))); Grade grade1 = new Grade("gradeId1"); - grade1.setStudentGroups(List.of(studentGroup1, studentGroup2, studentGroup3)); + grade1.setStudentGroups(new ArrayList<>(List.of(studentGroup1, studentGroup2, studentGroup3))); Grade gradeEmpty = new Grade("emptyGrade"); - gradeEmpty.setStudentGroups(List.of(studentGroup1)); + gradeEmpty.setStudentGroups(new ArrayList<>(List.of(studentGroup1))); - when(gradeRepository.findAllById(List.of("gradeId1"))).thenReturn(List.of(grade1)); - when(gradeRepository.findAllById(List.of("gradeId1", "emptyGrade"))).thenReturn( - List.of(gradeEmpty, grade1)); + when(gradeRepository.findAllById(new ArrayList<>(List.of("gradeId1")))).thenReturn( + new ArrayList<>(List.of(grade1))); + when( + gradeRepository.findAllById(new ArrayList<>(List.of("gradeId1", "emptyGrade")))).thenReturn( + new ArrayList<>(List.of(gradeEmpty, grade1))); when(gradeRepository.findAllById( - List.of("noGroupsId", "gradeForUpdate", "emptyGrade"))).thenReturn( - List.of(gradeEmpty, grade1)); + new ArrayList<>(List.of("noGroupsId", "gradeForUpdate", "emptyGrade")))).thenReturn( + new ArrayList<>(List.of(gradeEmpty, grade1))); - studentGroup1.setGrades(List.of(grade1, gradeEmpty)); - studentGroup2.setGrades(List.of(grade1)); - studentGroup3.setGrades(List.of(grade1)); + studentGroup1.setGrades(new ArrayList<>(List.of(grade1, gradeEmpty))); + studentGroup2.setGrades(new ArrayList<>(List.of(grade1))); + studentGroup3.setGrades(new ArrayList<>(List.of(grade1))); Subject subject = new Subject("789"); @@ -147,21 +154,21 @@ void setUp() { Lesson lesson2 = createLesson(teacher2, room1, studentGroup1, "2022", subject, timetable); Lesson lesson3 = createLesson(teacher1, room2, studentGroup2, "2024", subject, timetable); - studentGroup1.setLessons(List.of(lesson1, lesson2, lesson3)); + studentGroup1.setLessons(new ArrayList<>(List.of(lesson1, lesson2, lesson3))); - Student student = new Student("Firstname", "Lastname", List.of("tagId1")); + Student student = new Student("Firstname", "Lastname", new ArrayList<>(List.of("tagId1"))); student.setId("studentId1"); - Student student1 = new Student("Firstname1", "Lastname1", List.of("tagId1")); + Student student1 = new Student("Firstname1", "Lastname1", new ArrayList<>(List.of("tagId1"))); student1.setId("studentId2"); when(studentRepository.findById(student.getId())).thenReturn(Optional.of(student)); when(studentRepository.findById(student1.getId())).thenReturn(Optional.of(student1)); - when(studentRepository.findAll()).thenReturn(List.of(student, student1)); + when(studentRepository.findAll()).thenReturn(new ArrayList<>(List.of(student, student1))); Break[] breaks = {}; Server server = new Server(new TimetableMetadata(45, 8, "8:00", breaks), "2024", "test@uftos.de"); - when(serverRepository.findAll()).thenReturn(List.of(server)); + when(serverRepository.findAll()).thenReturn(new ArrayList<>(List.of(server))); when(studentGroupRepository.findById("123")).thenReturn(Optional.of(studentGroup1)); when(studentGroupRepository.findById("456")).thenReturn(Optional.of(studentGroup2)); @@ -170,7 +177,7 @@ void setUp() { when(studentGroupRepository.findById("789")).thenReturn(Optional.of(studentGroup3)); when(gradeRepository.findByStudentGroups(studentGroup1)).thenReturn( - List.of(grade1, gradeEmpty)); + new ArrayList<>(List.of(grade1, gradeEmpty))); } @Test @@ -262,8 +269,9 @@ void createGroupInvalidGrade() { @Test void updateGroup() { StudentGroupRequestDto requestDto = - new StudentGroupRequestDto("Ethics2", List.of("studentId0", "studentId1"), - List.of("noGroupsId", "gradeForUpdate", "emptyGrade"), List.of(), List.of()); + new StudentGroupRequestDto("Ethics2", new ArrayList<>(List.of("studentId0", "studentId1")), + new ArrayList<>(List.of("noGroupsId", "gradeForUpdate", "emptyGrade")), + Collections.emptyList(), Collections.emptyList()); studentGroupService.update("123", requestDto); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); @@ -284,12 +292,13 @@ void updateGroupEmptyName() { @Test void addNonExistentStudent() { assertThrows(ResponseStatusException.class, - () -> studentGroupService.addStudents("123", List.of("studentId3"))); + () -> studentGroupService.addStudents("123", new ArrayList<>(List.of("studentId3")))); } @Test void addExistentStudent() { - assertDoesNotThrow(() -> studentGroupService.addStudents("123", List.of("studentId1"))); + assertDoesNotThrow( + () -> studentGroupService.addStudents("123", new ArrayList<>(List.of("studentId1")))); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); verify(studentGroupRepository, times(1)).save(studentGroupCap.capture()); @@ -300,7 +309,7 @@ void addExistentStudent() { @Test void removeStudent() { - studentGroupService.removeStudents("456", List.of("studentId2")); + studentGroupService.removeStudents("456", new ArrayList<>(List.of("studentId2"))); ArgumentCaptor studentGroupCap = ArgumentCaptor.forClass(StudentGroup.class); verify(studentGroupRepository, times(1)).save(studentGroupCap.capture()); diff --git a/server/src/test/java/de/uftos/services/StudentServiceTest.java b/server/src/test/java/de/uftos/services/StudentServiceTest.java index df4136da6..372324848 100644 --- a/server/src/test/java/de/uftos/services/StudentServiceTest.java +++ b/server/src/test/java/de/uftos/services/StudentServiceTest.java @@ -24,6 +24,7 @@ import de.uftos.repositories.database.ServerRepository; import de.uftos.repositories.database.StudentGroupRepository; import de.uftos.repositories.database.StudentRepository; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -66,7 +67,9 @@ void setUp() { Tag tag = new Tag("", "tagName"); tag.setId("tagId"); - StudentGroup group = new StudentGroup("group", List.of("123"), List.of(), List.of()); + StudentGroup group = + new StudentGroup("group", new ArrayList<>(List.of("123")), Collections.emptyList(), + Collections.emptyList()); group.setId("groupId"); Lesson lesson = @@ -78,26 +81,29 @@ void setUp() { new Lesson(0, "teacherId", "groupId", "roomId", "timeslotId", "subjectId", "timetableId", "1865"); lessonWrongYear.setStudentGroup(groupMock); - group.setLessons(List.of(lesson, lessonWrongYear)); + group.setLessons(new ArrayList<>(List.of(lesson, lessonWrongYear))); - Student student = new Student("123", "Max", "Mustermann", List.of(groupMock), List.of(tag)); + Student student = new Student("123", "Max", "Mustermann", new ArrayList<>(List.of(groupMock)), + new ArrayList<>(List.of(tag))); - when(groupMock.getGrades()).thenReturn(List.of()); - when(groupMock.getLessons()).thenReturn(List.of(lesson, lessonWrongYear)); - when(groupMock.getStudents()).thenReturn(List.of(student)); + when(groupMock.getGrades()).thenReturn(Collections.emptyList()); + when(groupMock.getLessons()).thenReturn(new ArrayList<>(List.of(lesson, lessonWrongYear))); + when(groupMock.getStudents()).thenReturn(new ArrayList<>(List.of(student))); when(groupMock.getId()).thenReturn("groupId"); Server server = new Server(null, "2024", "email"); - when(serverRepository.findAll()).thenReturn(List.of(server)); - when(studentRepository.findAll()).thenReturn(List.of(student)); + when(serverRepository.findAll()).thenReturn(new ArrayList<>(List.of(server))); + when(studentRepository.findAll()).thenReturn(new ArrayList<>(List.of(student))); when(studentRepository.findById("123")).thenReturn(Optional.of(student)); - when(studentRepository.findAllById(List.of("123"))).thenReturn(List.of(student)); + when(studentRepository.findAllById(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(student))); when(studentRepository.findAllById(List.of("nonExistentId", "123"))).thenReturn( - List.of(student)); + new ArrayList<>(List.of(student))); when(constraintSignatureRepository.findAll(any(Specification.class))).thenReturn( Collections.emptyList()); when(studentGroupRepository.findByStudents(any(Student.class))).thenReturn( Collections.emptyList()); - when(studentGroupRepository.findAll(any(Specification.class))).thenReturn(List.of(groupMock)); + when(studentGroupRepository.findAll(any(Specification.class))).thenReturn( + new ArrayList<>(List.of(groupMock))); when(studentRepository.save(any(Student.class))).thenReturn(student); } @@ -123,7 +129,7 @@ void getByExistentId() { @Test void createStudent() { StudentRequestDto requestDto = - new StudentRequestDto("Max", "Mustermann", List.of("tagId")); + new StudentRequestDto("Max", "Mustermann", new ArrayList<>(List.of("tagId"))); studentService.create(requestDto); ArgumentCaptor studentCap = ArgumentCaptor.forClass(Student.class); @@ -142,7 +148,7 @@ void createStudent() { @Test void createEmptyFirstNameStudent() { StudentRequestDto requestDto = new StudentRequestDto("", "Mustermann", - List.of()); + Collections.emptyList()); assertThrows(ResponseStatusException.class, () -> studentService.create(requestDto)); } @@ -150,7 +156,7 @@ void createEmptyFirstNameStudent() { @Test void createEmptyLastNameStudent() { StudentRequestDto requestDto = new StudentRequestDto("Max", "", - List.of()); + Collections.emptyList()); assertThrows(ResponseStatusException.class, () -> studentService.create(requestDto)); } @@ -159,7 +165,7 @@ void createEmptyLastNameStudent() { void updateStudent() { StudentRequestDto requestDto = new StudentRequestDto("newFirstName", "newLastName", - List.of()); + Collections.emptyList()); studentService.update("123", requestDto); ArgumentCaptor studentCap = ArgumentCaptor.forClass(Student.class); @@ -177,7 +183,7 @@ void updateStudent() { @Test void updateEmptyFirstNameStudent() { StudentRequestDto requestDto = new StudentRequestDto("", "Mustermann", - List.of()); + Collections.emptyList()); assertThrows(ResponseStatusException.class, () -> studentService.update("123", requestDto)); } @@ -185,7 +191,7 @@ void updateEmptyFirstNameStudent() { @Test void updateEmptyLastNameStudent() { StudentRequestDto requestDto = new StudentRequestDto("Max", "", - List.of()); + Collections.emptyList()); assertThrows(ResponseStatusException.class, () -> studentService.update("123", requestDto)); } diff --git a/server/src/test/java/de/uftos/services/SubjectServiceTests.java b/server/src/test/java/de/uftos/services/SubjectServiceTests.java index e6b1bda2e..5356abe06 100644 --- a/server/src/test/java/de/uftos/services/SubjectServiceTests.java +++ b/server/src/test/java/de/uftos/services/SubjectServiceTests.java @@ -90,31 +90,34 @@ void setUp() { Subject subject = new Subject(); subject.setId(SUBJECT_ID); subject.setName(SUBJECT_NAME); - subject.setTags(List.of(tag)); + subject.setTags(new ArrayList<>(List.of(tag))); - when(subjectRepository.findAll()).thenReturn(List.of(subject)); + when(subjectRepository.findAll()).thenReturn(new ArrayList<>(List.of(subject))); when(subjectRepository.findById(SUBJECT_ID)).thenReturn(Optional.of(subject)); - when(subjectRepository.findAllById(List.of(SUBJECT_ID))).thenReturn(List.of(subject)); - when(subjectRepository.findAllById(List.of("nonExistentId", SUBJECT_ID))).thenReturn( - List.of(subject)); + when(subjectRepository.findAllById(new ArrayList<>(List.of(SUBJECT_ID)))).thenReturn( + new ArrayList<>(List.of(subject))); + when(subjectRepository.findAllById( + new ArrayList<>(List.of("nonExistentId", SUBJECT_ID)))).thenReturn( + new ArrayList<>(List.of(subject))); when(subjectRepository.save(any(Subject.class))).thenReturn(subject); LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("123", 1); - Curriculum testCurriculum = new Curriculum(new Grade("gradeId"), "name", List.of(lessonsCount)); - when(curriculumRepository.findAll()).thenReturn(List.of(testCurriculum)); + Curriculum testCurriculum = + new Curriculum(new Grade("gradeId"), "name", new ArrayList<>(List.of(lessonsCount))); + when(curriculumRepository.findAll()).thenReturn(new ArrayList<>(List.of(testCurriculum))); when(curriculumRepository.findAll(any(Specification.class))).thenReturn( - List.of(testCurriculum)); + new ArrayList<>(List.of(testCurriculum))); Teacher teacherWithSubject = new Teacher("teacherId"); - teacherWithSubject.setSubjects(List.of(subject)); + teacherWithSubject.setSubjects(new ArrayList<>(List.of(subject))); when(teacherRepository.findAll(any(Specification.class))).thenReturn( - List.of(teacherWithSubject)); + new ArrayList<>(List.of(teacherWithSubject))); when(teacherRepository.findBySubjects(any(Subject.class))).thenReturn(Collections.emptyList()); StudentGroup groupWithSubject = new StudentGroup("groupId"); - groupWithSubject.setSubjects(List.of(subject)); + groupWithSubject.setSubjects(new ArrayList<>(List.of(subject))); when(studentGroupRepository.findAll(any(Specification.class))).thenReturn( - List.of(groupWithSubject)); + new ArrayList<>(List.of(groupWithSubject))); when(studentGroupRepository.findBySubjects(any(Subject.class))).thenReturn( Collections.emptyList()); } @@ -137,7 +140,7 @@ void getByExistentId() { @Test void createSubject() { SubjectRequestDto requestDto = - new SubjectRequestDto("Mathe", "blue", List.of("tagId")); + new SubjectRequestDto("Mathe", "blue", new ArrayList<>(List.of("tagId"))); subjectService.create(requestDto); ArgumentCaptor subjectCap = ArgumentCaptor.forClass(Subject.class); @@ -156,14 +159,14 @@ void createSubject() { @Test void createSubjectEmptyName() { SubjectRequestDto requestDto = - new SubjectRequestDto("", "blue", List.of("tagId")); + new SubjectRequestDto("", "blue", new ArrayList<>(List.of("tagId"))); assertThrows(ResponseStatusException.class, () -> subjectService.create(requestDto)); } @Test void updateSubject() { SubjectRequestDto requestDto = - new SubjectRequestDto("Englisch", "red", List.of("otherTagId")); + new SubjectRequestDto("Englisch", "red", new ArrayList<>(List.of("otherTagId"))); subjectService.update(SUBJECT_ID, requestDto); ArgumentCaptor subjectCap = ArgumentCaptor.forClass(Subject.class); @@ -182,7 +185,7 @@ void updateSubject() { @Test void updateSubjectEmptyName() { SubjectRequestDto requestDto = - new SubjectRequestDto("", "blue", List.of("tagId")); + new SubjectRequestDto("", "blue", new ArrayList<>(List.of("tagId"))); assertThrows(ResponseStatusException.class, () -> subjectService.update("123", requestDto)); } diff --git a/server/src/test/java/de/uftos/services/TagServiceTests.java b/server/src/test/java/de/uftos/services/TagServiceTests.java index 6d28053ca..999565e7d 100644 --- a/server/src/test/java/de/uftos/services/TagServiceTests.java +++ b/server/src/test/java/de/uftos/services/TagServiceTests.java @@ -33,6 +33,7 @@ import de.uftos.repositories.database.TagRepository; import de.uftos.repositories.database.TeacherRepository; import de.uftos.repositories.database.TimeslotRepository; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -94,37 +95,45 @@ void setUp() { Server server = new Server(new TimetableMetadata(45, 8, "7:45", new Break[] {}), "2024", "test@uftos.de"); - when(serverRepository.findAll()).thenReturn(List.of(server)); + when(serverRepository.findAll()).thenReturn(new ArrayList<>(List.of(server))); when(tagRepository.findById("123")).thenReturn(Optional.of(tag)); - when(tagRepository.findAllById(List.of("123"))).thenReturn(List.of(tag)); + when(tagRepository.findAllById(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(tag))); Teacher teacherWithTag = new Teacher("teacherId"); - teacherWithTag.setTags(List.of(tag)); - when(teacherRepository.findAllByTags(List.of("123"))).thenReturn(List.of(teacherWithTag)); + teacherWithTag.setTags(new ArrayList<>(List.of(tag))); + when(teacherRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(teacherWithTag))); StudentGroup groupWithTag = new StudentGroup("groupId"); - groupWithTag.setTags(List.of(tag)); - when(studentGroupRepository.findAllByTags(List.of("123"))).thenReturn(List.of(groupWithTag)); + groupWithTag.setTags(new ArrayList<>(List.of(tag))); + when(studentGroupRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(groupWithTag))); Student studentWithTag = new Student("studentId"); - studentWithTag.setTags(List.of(tag)); - when(studentRepository.findAllByTags(List.of("123"))).thenReturn(List.of(studentWithTag)); + studentWithTag.setTags(new ArrayList<>(List.of(tag))); + when(studentRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(studentWithTag))); Room roomWithTag = new Room("roomId"); - roomWithTag.setTags(List.of(tag)); - when(roomRepository.findAllByTags(List.of("123"))).thenReturn(List.of(roomWithTag)); + roomWithTag.setTags(new ArrayList<>(List.of(tag))); + when(roomRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(roomWithTag))); Subject subjectWithTag = new Subject("subjectId"); - subjectWithTag.setTags(List.of(tag)); - when(subjectRepository.findAllByTags(List.of("123"))).thenReturn(List.of(subjectWithTag)); + subjectWithTag.setTags(new ArrayList<>(List.of(tag))); + when(subjectRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(subjectWithTag))); Grade gradeWithTag = new Grade("gradeId"); - gradeWithTag.setTags(List.of(tag)); - when(gradeRepository.findAllByTags(List.of("123"))).thenReturn(List.of(gradeWithTag)); + gradeWithTag.setTags(new ArrayList<>(List.of(tag))); + when(gradeRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(gradeWithTag))); Timeslot timeslotWithTag = new Timeslot("timeslotId"); - timeslotWithTag.setTags(List.of(tag)); - when(timeslotRepository.findAllByTags(List.of("123"))).thenReturn(List.of(timeslotWithTag)); + timeslotWithTag.setTags(new ArrayList<>(List.of(tag))); + when(timeslotRepository.findAllByTags(new ArrayList<>(List.of("123")))).thenReturn( + new ArrayList<>(List.of(timeslotWithTag))); } @Test From 52eca5e3d9efddfb5704df6b705a85964c976e61 Mon Sep 17 00:00:00 2001 From: Demartino Marco Date: Mon, 2 Sep 2024 11:10:50 +0200 Subject: [PATCH 08/10] Fixed immutable lessons count --- server/.gitignore | 0 server/.mvn/wrapper/maven-wrapper.jar | Bin server/.mvn/wrapper/maven-wrapper.properties | 0 server/Dockerfile | 0 server/checkstyle.xml | 0 server/mvnw.cmd | 0 server/pom.xml | 0 server/src/main/java/de/uftos/UftosApplication.java | 0 .../de/uftos/config/CustomPostgreSqlDialect.java | 0 .../de/uftos/controller/ConstraintController.java | 0 .../de/uftos/controller/CurriculumController.java | 0 .../java/de/uftos/controller/GradeController.java | 0 .../java/de/uftos/controller/LessonController.java | 0 .../java/de/uftos/controller/RoomController.java | 0 .../java/de/uftos/controller/ServerController.java | 0 .../java/de/uftos/controller/StudentController.java | 0 .../de/uftos/controller/StudentGroupController.java | 0 .../java/de/uftos/controller/SubjectController.java | 0 .../java/de/uftos/controller/TagController.java | 0 .../java/de/uftos/controller/TeacherController.java | 0 .../de/uftos/controller/TimeslotController.java | 0 .../de/uftos/controller/TimetableController.java | 0 .../de/uftos/controller/UcdlEditorController.java | 0 .../de/uftos/dto/ConstraintArgumentDisplayName.java | 0 server/src/main/java/de/uftos/dto/ResourceType.java | 0 .../src/main/java/de/uftos/dto/StudentAndGroup.java | 0 .../src/main/java/de/uftos/dto/SuccessResponse.java | 0 server/src/main/java/de/uftos/dto/Weekday.java | 0 .../requestdtos/ConstraintArgumentRequestDto.java | 0 .../requestdtos/ConstraintInstanceRequestDto.java | 0 .../uftos/dto/requestdtos/CurriculumRequestDto.java | 0 .../de/uftos/dto/requestdtos/GradeRequestDto.java | 0 .../de/uftos/dto/requestdtos/LessonRequestDto.java | 0 .../dto/requestdtos/LessonsCountRequestDto.java | 0 .../de/uftos/dto/requestdtos/RoomRequestDto.java | 0 .../dto/requestdtos/StudentGroupRequestDto.java | 0 .../de/uftos/dto/requestdtos/StudentRequestDto.java | 0 .../de/uftos/dto/requestdtos/SubjectRequestDto.java | 0 .../de/uftos/dto/requestdtos/TagRequestDto.java | 0 .../de/uftos/dto/requestdtos/TeacherRequestDto.java | 0 .../uftos/dto/requestdtos/TimeslotRequestDto.java | 0 .../uftos/dto/requestdtos/TimetableRequestDto.java | 0 .../ConstraintInstancesResponseDto.java | 0 .../dto/responsedtos/CurriculumResponseDto.java | 0 .../de/uftos/dto/responsedtos/GradeResponseDto.java | 0 .../uftos/dto/responsedtos/LessonResponseDto.java | 0 .../responsedtos/ServerStatisticsResponseDto.java | 0 .../dto/responsedtos/StudentGroupResponseDto.java | 0 .../de/uftos/dto/solver/ConstraintInstanceDto.java | 0 .../java/de/uftos/dto/solver/GradeProblemDto.java | 0 .../java/de/uftos/dto/solver/LessonProblemDto.java | 0 .../de/uftos/dto/solver/ResourceProblemDto.java | 0 .../java/de/uftos/dto/solver/RewardPenalize.java | 0 .../java/de/uftos/dto/solver/RoomProblemDto.java | 0 .../de/uftos/dto/solver/StudentGroupProblemDto.java | 0 .../java/de/uftos/dto/solver/StudentProblemDto.java | 0 .../java/de/uftos/dto/solver/SubjectProblemDto.java | 0 .../java/de/uftos/dto/solver/TagProblemDto.java | 0 .../java/de/uftos/dto/solver/TeacherProblemDto.java | 0 .../de/uftos/dto/solver/TimeslotProblemDto.java | 0 .../de/uftos/dto/solver/TimetableProblemDto.java | 0 .../de/uftos/dto/solver/TimetableSolutionDto.java | 0 .../de/uftos/dto/ucdl/ConstraintDefinitionDto.java | 0 .../src/main/java/de/uftos/dto/ucdl/UcdlToken.java | 0 .../uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java | 0 .../de/uftos/dto/ucdl/ast/ControlSequenceDto.java | 0 .../main/java/de/uftos/dto/ucdl/ast/ElementDto.java | 0 .../java/de/uftos/dto/ucdl/ast/OperatorDto.java | 0 .../java/de/uftos/dto/ucdl/ast/QuantifierDto.java | 0 .../src/main/java/de/uftos/dto/ucdl/ast/SetDto.java | 0 .../main/java/de/uftos/dto/ucdl/ast/ValueDto.java | 0 server/src/main/java/de/uftos/entities/Break.java | 0 .../java/de/uftos/entities/ConstraintArgument.java | 0 .../java/de/uftos/entities/ConstraintInstance.java | 0 .../java/de/uftos/entities/ConstraintParameter.java | 0 .../java/de/uftos/entities/ConstraintSignature.java | 0 .../src/main/java/de/uftos/entities/Curriculum.java | 0 server/src/main/java/de/uftos/entities/Grade.java | 0 server/src/main/java/de/uftos/entities/Lesson.java | 0 .../main/java/de/uftos/entities/LessonsCount.java | 0 server/src/main/java/de/uftos/entities/Room.java | 0 server/src/main/java/de/uftos/entities/Server.java | 0 server/src/main/java/de/uftos/entities/Student.java | 0 .../main/java/de/uftos/entities/StudentGroup.java | 0 server/src/main/java/de/uftos/entities/Subject.java | 0 server/src/main/java/de/uftos/entities/Tag.java | 0 server/src/main/java/de/uftos/entities/Teacher.java | 0 .../src/main/java/de/uftos/entities/Timeslot.java | 0 .../src/main/java/de/uftos/entities/Timetable.java | 0 .../java/de/uftos/entities/TimetableMetadata.java | 0 .../database/ConstraintInstanceRepository.java | 0 .../database/ConstraintSignatureRepository.java | 0 .../repositories/database/CurriculumRepository.java | 0 .../repositories/database/GradeRepository.java | 0 .../repositories/database/LessonRepository.java | 0 .../uftos/repositories/database/RoomRepository.java | 0 .../repositories/database/ServerRepository.java | 0 .../database/StudentGroupRepository.java | 0 .../repositories/database/StudentRepository.java | 0 .../repositories/database/SubjectRepository.java | 0 .../uftos/repositories/database/TagRepository.java | 0 .../repositories/database/TeacherRepository.java | 0 .../repositories/database/TimeslotRepository.java | 0 .../repositories/database/TimetableRepository.java | 0 .../notifications/NotificationRepository.java | 0 .../notifications/NotificationRepositoryImpl.java | 0 .../notifications/NotificationType.java | 0 .../uftos/repositories/solver/SolverRepository.java | 0 .../repositories/solver/SolverRepositoryImpl.java | 0 .../constraints/ConstraintDefinitionFactory.java | 0 .../ConstraintDefinitionTimefoldInstance.java | 0 .../constraints/ConstraintInstanceFactory.java | 0 .../ConstraintInstanceTimefoldInstance.java | 0 .../timefold/domain/GradeTimefoldInstance.java | 0 .../timefold/domain/LessonTimefoldInstance.java | 0 .../timefold/domain/NumberTimefoldInstance.java | 0 .../timefold/domain/ResourceTimefoldInstance.java | 0 .../timefold/domain/RoomTimefoldInstance.java | 0 .../domain/StudentGroupTimefoldInstance.java | 0 .../timefold/domain/StudentTimefoldInstance.java | 0 .../timefold/domain/SubjectTimefoldInstance.java | 0 .../solver/timefold/domain/TagTimefoldInstance.java | 0 .../timefold/domain/TeacherTimefoldInstance.java | 0 .../timefold/domain/TimeslotTimefoldInstance.java | 0 .../domain/TimetableSolutionTimefoldInstance.java | 0 .../solver/timefold/solver/ScoreCalculator.java | 0 .../de/uftos/repositories/ucdl/UcdlRepository.java | 0 .../uftos/repositories/ucdl/UcdlRepositoryImpl.java | 0 .../repositories/ucdl/parser/DefinitionParser.java | 0 .../ucdl/parser/PredefinedConstraint.java | 0 .../uftos/repositories/ucdl/parser/UcdlParser.java | 0 .../ucdl/parser/javacc/JJTSyntaxCheckerState.java | 0 .../uftos/repositories/ucdl/parser/javacc/Node.java | 0 .../ucdl/parser/javacc/ParseException.java | 0 .../ucdl/parser/javacc/SimpleCharStream.java | 0 .../repositories/ucdl/parser/javacc/SimpleNode.java | 0 .../ucdl/parser/javacc/SyntaxChecker.java | 0 .../ucdl/parser/javacc/SyntaxCheckerConstants.java | 0 .../parser/javacc/SyntaxCheckerTokenManager.java | 0 .../parser/javacc/SyntaxCheckerTreeConstants.java | 0 .../repositories/ucdl/parser/javacc/Token.java | 0 .../ucdl/parser/javacc/TokenMgrError.java | 0 .../uftos/services/ConstraintInstanceService.java | 0 .../uftos/services/ConstraintSignatureService.java | 0 .../java/de/uftos/services/CurriculumService.java | 0 .../main/java/de/uftos/services/GradeService.java | 0 .../main/java/de/uftos/services/LessonService.java | 0 .../main/java/de/uftos/services/RoomService.java | 0 .../main/java/de/uftos/services/ServerService.java | 0 .../java/de/uftos/services/StudentGroupService.java | 0 .../main/java/de/uftos/services/StudentService.java | 0 .../main/java/de/uftos/services/SubjectService.java | 0 .../src/main/java/de/uftos/services/TagService.java | 0 .../main/java/de/uftos/services/TeacherService.java | 0 .../java/de/uftos/services/TimeslotService.java | 0 .../java/de/uftos/services/TimetableService.java | 0 .../java/de/uftos/services/UcdlEditorService.java | 0 .../de/uftos/utils/ConstraintInstanceDeleter.java | 0 .../main/java/de/uftos/utils/JsonbConverter.java | 0 .../main/java/de/uftos/utils/LessonsDeleter.java | 0 .../java/de/uftos/utils/SpecificationBuilder.java | 0 server/src/main/resources/application.properties | 0 server/src/main/resources/schema.sql | 0 server/src/main/resources/ucdl.jjt | 0 .../test/java/de/uftos/UftosApplicationTests.java | 0 .../src/test/java/de/uftos/e2e/CurriculumTest.java | 5 +---- server/src/test/java/de/uftos/e2e/GradesTest.java | 0 server/src/test/java/de/uftos/e2e/RoomsTest.java | 0 server/src/test/java/de/uftos/e2e/ServerTest.java | 0 .../test/java/de/uftos/e2e/StudentGroupsTest.java | 2 +- server/src/test/java/de/uftos/e2e/StudentsTest.java | 0 server/src/test/java/de/uftos/e2e/SubjectsTest.java | 4 ++-- server/src/test/java/de/uftos/e2e/TagsTest.java | 0 server/src/test/java/de/uftos/e2e/TeachersTest.java | 2 +- server/src/test/java/de/uftos/e2e/TimeslotTest.java | 0 .../ConstraintDefinitionFactoryTest.java | 0 .../ConstraintDefinitionTimefoldInstanceTest.java | 0 .../constraints/ConstraintInstanceFactoryTest.java | 0 .../ConstraintInstanceTimefoldInstanceTest.java | 0 .../timefold/domain/GradeTimefoldInstanceTest.java | 0 .../timefold/domain/LessonTimefoldInstanceTest.java | 0 .../timefold/domain/NumberTimefoldInstanceTest.java | 0 .../timefold/domain/RoomTimefoldInstanceTest.java | 0 .../domain/StudentGroupTimefoldInstanceTest.java | 0 .../domain/StudentTimefoldInstanceTest.java | 0 .../domain/SubjectTimefoldInstanceTest.java | 0 .../timefold/domain/TagTimefoldInstanceTest.java | 0 .../domain/TeacherTimefoldInstanceTest.java | 0 .../domain/TimeslotTimefoldInstanceTest.java | 0 .../TimetableSolutionTimefoldInstanceTest.java | 0 .../solver/timefold/solver/ScoreCalculatorTest.java | 0 .../ucdl/parser/DefinitionParserTest.java | 0 .../ucdl/parser/PredefinedConstraintsTest.java | 0 .../repositories/ucdl/parser/UcdlParserTest.java | 0 .../services/ConstraintInstanceServiceTest.java | 0 .../services/ConstraintSignatureServiceTest.java | 0 .../de/uftos/services/CurriculumServiceTests.java | 0 .../java/de/uftos/services/GradeServiceTests.java | 0 .../java/de/uftos/services/RoomServiceTests.java | 0 .../java/de/uftos/services/ServerServiceTests.java | 0 .../de/uftos/services/StudentGroupServiceTests.java | 0 .../java/de/uftos/services/StudentServiceTest.java | 0 .../java/de/uftos/services/SubjectServiceTests.java | 9 +++++++-- .../java/de/uftos/services/TagServiceTests.java | 0 .../java/de/uftos/services/TeacherServiceTests.java | 0 .../de/uftos/services/TimeslotServiceTests.java | 0 .../de/uftos/services/TimetableServiceTests.java | 0 .../de/uftos/services/UcdlEditorServiceTests.java | 0 .../src/test/java/de/uftos/utils/ClassCaster.java | 0 .../src/test/java/de/uftos/utils/JsonGenerator.java | 7 ++++--- server/ucdl/ucdl.yml | 0 211 files changed, 16 insertions(+), 13 deletions(-) mode change 100644 => 100755 server/.gitignore mode change 100644 => 100755 server/.mvn/wrapper/maven-wrapper.jar mode change 100644 => 100755 server/.mvn/wrapper/maven-wrapper.properties mode change 100644 => 100755 server/Dockerfile mode change 100644 => 100755 server/checkstyle.xml mode change 100644 => 100755 server/mvnw.cmd mode change 100644 => 100755 server/pom.xml mode change 100644 => 100755 server/src/main/java/de/uftos/UftosApplication.java mode change 100644 => 100755 server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/ConstraintController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/CurriculumController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/GradeController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/LessonController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/RoomController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/ServerController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/StudentController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/StudentGroupController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/SubjectController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/TagController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/TeacherController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/TimeslotController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/TimetableController.java mode change 100644 => 100755 server/src/main/java/de/uftos/controller/UcdlEditorController.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ResourceType.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/StudentAndGroup.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/SuccessResponse.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/Weekday.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/LessonRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/RewardPenalize.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/TagProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Break.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/ConstraintArgument.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/ConstraintInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/ConstraintParameter.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/ConstraintSignature.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Curriculum.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Grade.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Lesson.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/LessonsCount.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Room.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Server.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Student.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/StudentGroup.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Subject.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Tag.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Teacher.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Timeslot.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/Timetable.java mode change 100644 => 100755 server/src/main/java/de/uftos/entities/TimetableMetadata.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/GradeRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/LessonRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/RoomRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/ServerRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/StudentRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/SubjectRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/TagRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/TeacherRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/database/TimetableRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/notifications/NotificationType.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/SolverRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java mode change 100644 => 100755 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/ConstraintInstanceService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/ConstraintSignatureService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/CurriculumService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/GradeService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/LessonService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/RoomService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/ServerService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/StudentGroupService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/StudentService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/SubjectService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/TagService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/TeacherService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/TimeslotService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/TimetableService.java mode change 100644 => 100755 server/src/main/java/de/uftos/services/UcdlEditorService.java mode change 100644 => 100755 server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java mode change 100644 => 100755 server/src/main/java/de/uftos/utils/JsonbConverter.java mode change 100644 => 100755 server/src/main/java/de/uftos/utils/LessonsDeleter.java mode change 100644 => 100755 server/src/main/java/de/uftos/utils/SpecificationBuilder.java mode change 100644 => 100755 server/src/main/resources/application.properties mode change 100644 => 100755 server/src/main/resources/schema.sql mode change 100644 => 100755 server/src/main/resources/ucdl.jjt mode change 100644 => 100755 server/src/test/java/de/uftos/UftosApplicationTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/CurriculumTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/GradesTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/RoomsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/ServerTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/StudentGroupsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/StudentsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/SubjectsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/TagsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/TeachersTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/e2e/TimeslotTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/CurriculumServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/GradeServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/RoomServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/ServerServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/StudentGroupServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/StudentServiceTest.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/SubjectServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/TagServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/TeacherServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/TimeslotServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/TimetableServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java mode change 100644 => 100755 server/src/test/java/de/uftos/utils/ClassCaster.java mode change 100644 => 100755 server/src/test/java/de/uftos/utils/JsonGenerator.java mode change 100644 => 100755 server/ucdl/ucdl.yml diff --git a/server/.gitignore b/server/.gitignore old mode 100644 new mode 100755 diff --git a/server/.mvn/wrapper/maven-wrapper.jar b/server/.mvn/wrapper/maven-wrapper.jar old mode 100644 new mode 100755 diff --git a/server/.mvn/wrapper/maven-wrapper.properties b/server/.mvn/wrapper/maven-wrapper.properties old mode 100644 new mode 100755 diff --git a/server/Dockerfile b/server/Dockerfile old mode 100644 new mode 100755 diff --git a/server/checkstyle.xml b/server/checkstyle.xml old mode 100644 new mode 100755 diff --git a/server/mvnw.cmd b/server/mvnw.cmd old mode 100644 new mode 100755 diff --git a/server/pom.xml b/server/pom.xml old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/UftosApplication.java b/server/src/main/java/de/uftos/UftosApplication.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java b/server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/ConstraintController.java b/server/src/main/java/de/uftos/controller/ConstraintController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/CurriculumController.java b/server/src/main/java/de/uftos/controller/CurriculumController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/GradeController.java b/server/src/main/java/de/uftos/controller/GradeController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/LessonController.java b/server/src/main/java/de/uftos/controller/LessonController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/RoomController.java b/server/src/main/java/de/uftos/controller/RoomController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/ServerController.java b/server/src/main/java/de/uftos/controller/ServerController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/StudentController.java b/server/src/main/java/de/uftos/controller/StudentController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/StudentGroupController.java b/server/src/main/java/de/uftos/controller/StudentGroupController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/SubjectController.java b/server/src/main/java/de/uftos/controller/SubjectController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/TagController.java b/server/src/main/java/de/uftos/controller/TagController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/TeacherController.java b/server/src/main/java/de/uftos/controller/TeacherController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/TimeslotController.java b/server/src/main/java/de/uftos/controller/TimeslotController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/TimetableController.java b/server/src/main/java/de/uftos/controller/TimetableController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/controller/UcdlEditorController.java b/server/src/main/java/de/uftos/controller/UcdlEditorController.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java b/server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ResourceType.java b/server/src/main/java/de/uftos/dto/ResourceType.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/StudentAndGroup.java b/server/src/main/java/de/uftos/dto/StudentAndGroup.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/SuccessResponse.java b/server/src/main/java/de/uftos/dto/SuccessResponse.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/Weekday.java b/server/src/main/java/de/uftos/dto/Weekday.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/LessonRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/LessonRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java b/server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java b/server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java b/server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java b/server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/RewardPenalize.java b/server/src/main/java/de/uftos/dto/solver/RewardPenalize.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java b/server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java b/server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java b/server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java b/server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/TagProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TagProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java b/server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java b/server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java b/server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Break.java b/server/src/main/java/de/uftos/entities/Break.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/ConstraintArgument.java b/server/src/main/java/de/uftos/entities/ConstraintArgument.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/ConstraintInstance.java b/server/src/main/java/de/uftos/entities/ConstraintInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/ConstraintParameter.java b/server/src/main/java/de/uftos/entities/ConstraintParameter.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/ConstraintSignature.java b/server/src/main/java/de/uftos/entities/ConstraintSignature.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Curriculum.java b/server/src/main/java/de/uftos/entities/Curriculum.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Grade.java b/server/src/main/java/de/uftos/entities/Grade.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Lesson.java b/server/src/main/java/de/uftos/entities/Lesson.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/LessonsCount.java b/server/src/main/java/de/uftos/entities/LessonsCount.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Room.java b/server/src/main/java/de/uftos/entities/Room.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Server.java b/server/src/main/java/de/uftos/entities/Server.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Student.java b/server/src/main/java/de/uftos/entities/Student.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/StudentGroup.java b/server/src/main/java/de/uftos/entities/StudentGroup.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Subject.java b/server/src/main/java/de/uftos/entities/Subject.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Tag.java b/server/src/main/java/de/uftos/entities/Tag.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Teacher.java b/server/src/main/java/de/uftos/entities/Teacher.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Timeslot.java b/server/src/main/java/de/uftos/entities/Timeslot.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/Timetable.java b/server/src/main/java/de/uftos/entities/Timetable.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/entities/TimetableMetadata.java b/server/src/main/java/de/uftos/entities/TimetableMetadata.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java b/server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java b/server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java b/server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/GradeRepository.java b/server/src/main/java/de/uftos/repositories/database/GradeRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/LessonRepository.java b/server/src/main/java/de/uftos/repositories/database/LessonRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/RoomRepository.java b/server/src/main/java/de/uftos/repositories/database/RoomRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/ServerRepository.java b/server/src/main/java/de/uftos/repositories/database/ServerRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java b/server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/StudentRepository.java b/server/src/main/java/de/uftos/repositories/database/StudentRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/SubjectRepository.java b/server/src/main/java/de/uftos/repositories/database/SubjectRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/TagRepository.java b/server/src/main/java/de/uftos/repositories/database/TagRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/TeacherRepository.java b/server/src/main/java/de/uftos/repositories/database/TeacherRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java b/server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/database/TimetableRepository.java b/server/src/main/java/de/uftos/repositories/database/TimetableRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationType.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationType.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/SolverRepository.java b/server/src/main/java/de/uftos/repositories/solver/SolverRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java b/server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java b/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/ConstraintInstanceService.java b/server/src/main/java/de/uftos/services/ConstraintInstanceService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/ConstraintSignatureService.java b/server/src/main/java/de/uftos/services/ConstraintSignatureService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/CurriculumService.java b/server/src/main/java/de/uftos/services/CurriculumService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/GradeService.java b/server/src/main/java/de/uftos/services/GradeService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/LessonService.java b/server/src/main/java/de/uftos/services/LessonService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/RoomService.java b/server/src/main/java/de/uftos/services/RoomService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/ServerService.java b/server/src/main/java/de/uftos/services/ServerService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/StudentGroupService.java b/server/src/main/java/de/uftos/services/StudentGroupService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/StudentService.java b/server/src/main/java/de/uftos/services/StudentService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/SubjectService.java b/server/src/main/java/de/uftos/services/SubjectService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/TagService.java b/server/src/main/java/de/uftos/services/TagService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/TeacherService.java b/server/src/main/java/de/uftos/services/TeacherService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/TimeslotService.java b/server/src/main/java/de/uftos/services/TimeslotService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/TimetableService.java b/server/src/main/java/de/uftos/services/TimetableService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/services/UcdlEditorService.java b/server/src/main/java/de/uftos/services/UcdlEditorService.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java b/server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/utils/JsonbConverter.java b/server/src/main/java/de/uftos/utils/JsonbConverter.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/utils/LessonsDeleter.java b/server/src/main/java/de/uftos/utils/LessonsDeleter.java old mode 100644 new mode 100755 diff --git a/server/src/main/java/de/uftos/utils/SpecificationBuilder.java b/server/src/main/java/de/uftos/utils/SpecificationBuilder.java old mode 100644 new mode 100755 diff --git a/server/src/main/resources/application.properties b/server/src/main/resources/application.properties old mode 100644 new mode 100755 diff --git a/server/src/main/resources/schema.sql b/server/src/main/resources/schema.sql old mode 100644 new mode 100755 diff --git a/server/src/main/resources/ucdl.jjt b/server/src/main/resources/ucdl.jjt old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/UftosApplicationTests.java b/server/src/test/java/de/uftos/UftosApplicationTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/CurriculumTest.java b/server/src/test/java/de/uftos/e2e/CurriculumTest.java old mode 100644 new mode 100755 index c337a8b93..b35a14bc2 --- a/server/src/test/java/de/uftos/e2e/CurriculumTest.java +++ b/server/src/test/java/de/uftos/e2e/CurriculumTest.java @@ -1,6 +1,5 @@ package de.uftos.e2e; -import static de.uftos.utils.JsonGenerator.generateCurriculumJson; import static de.uftos.utils.JsonGenerator.generateGradeJson; import static de.uftos.utils.JsonGenerator.generateIdListJson; import static de.uftos.utils.JsonGenerator.generatePageJson; @@ -9,11 +8,9 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -import de.uftos.dto.requestdtos.LessonsCountRequestDto; import io.restassured.filter.log.LogDetail; import io.restassured.http.ContentType; import java.util.Collections; -import java.util.List; import org.json.JSONException; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; @@ -38,7 +35,7 @@ class CurriculumTest { static void createTestCurricula() throws JSONException { subjectId = given().contentType(ContentType.JSON) - .body(generateSubjectJson(SUBJECT_NAME)) + .body(generateSubjectJson(SUBJECT_NAME, "ffffff")) .when() .post("/subjects") .then() diff --git a/server/src/test/java/de/uftos/e2e/GradesTest.java b/server/src/test/java/de/uftos/e2e/GradesTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/RoomsTest.java b/server/src/test/java/de/uftos/e2e/RoomsTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/ServerTest.java b/server/src/test/java/de/uftos/e2e/ServerTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java b/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java old mode 100644 new mode 100755 index 44698f5f5..498fb6024 --- a/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java +++ b/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java @@ -80,7 +80,7 @@ static void createTestStudentGroups() throws JSONException { .body().jsonPath().getString("id"); subjectId = given().contentType(ContentType.JSON) - .body(generateSubjectJson(SUBJECT_NAME)) + .body(generateSubjectJson(SUBJECT_NAME, "ffffff")) .when() .post("/subjects") .then() diff --git a/server/src/test/java/de/uftos/e2e/StudentsTest.java b/server/src/test/java/de/uftos/e2e/StudentsTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/SubjectsTest.java b/server/src/test/java/de/uftos/e2e/SubjectsTest.java old mode 100644 new mode 100755 index a13ee3b40..d0471ea5c --- a/server/src/test/java/de/uftos/e2e/SubjectsTest.java +++ b/server/src/test/java/de/uftos/e2e/SubjectsTest.java @@ -24,7 +24,7 @@ class SubjectsTest { @BeforeAll static void createTestStudents() throws JSONException { subject1Id = given().contentType(ContentType.JSON) - .body(generateSubjectJson(SUBJECT1_NAME)) + .body(generateSubjectJson(SUBJECT1_NAME, "ffffff")) .when() .post("/subjects") .then() @@ -36,7 +36,7 @@ static void createTestStudents() throws JSONException { .body().jsonPath().getString("id"); subject2Id = given().contentType(ContentType.JSON) - .body(generateSubjectJson(SUBJECT2_NAME)) + .body(generateSubjectJson(SUBJECT2_NAME, "ffffff")) .when() .post("/subjects") .then() diff --git a/server/src/test/java/de/uftos/e2e/TagsTest.java b/server/src/test/java/de/uftos/e2e/TagsTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/e2e/TeachersTest.java b/server/src/test/java/de/uftos/e2e/TeachersTest.java old mode 100644 new mode 100755 index 9209b34c2..9180f8d73 --- a/server/src/test/java/de/uftos/e2e/TeachersTest.java +++ b/server/src/test/java/de/uftos/e2e/TeachersTest.java @@ -48,7 +48,7 @@ static void createTestTeachers() throws JSONException { .body().jsonPath().getString("id"); subjectId = given().contentType(ContentType.JSON) - .body(generateSubjectJson(SUBJECT_NAME)) + .body(generateSubjectJson(SUBJECT_NAME, "ffffff")) .when() .post("/subjects") .then() diff --git a/server/src/test/java/de/uftos/e2e/TimeslotTest.java b/server/src/test/java/de/uftos/e2e/TimeslotTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java b/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java b/server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/RoomServiceTests.java b/server/src/test/java/de/uftos/services/RoomServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/ServerServiceTests.java b/server/src/test/java/de/uftos/services/ServerServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/StudentServiceTest.java b/server/src/test/java/de/uftos/services/StudentServiceTest.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/SubjectServiceTests.java b/server/src/test/java/de/uftos/services/SubjectServiceTests.java old mode 100644 new mode 100755 index 5356abe06..6c9421e03 --- a/server/src/test/java/de/uftos/services/SubjectServiceTests.java +++ b/server/src/test/java/de/uftos/services/SubjectServiceTests.java @@ -15,7 +15,6 @@ import de.uftos.dto.requestdtos.SubjectRequestDto; import de.uftos.entities.Curriculum; import de.uftos.entities.Grade; -import de.uftos.entities.LessonsCount; import de.uftos.entities.StudentGroup; import de.uftos.entities.Subject; import de.uftos.entities.Tag; @@ -32,6 +31,7 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -102,8 +102,13 @@ void setUp() { when(subjectRepository.save(any(Subject.class))).thenReturn(subject); LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("123", 1); + List lessonsCounts = List.of(lessonsCount); Curriculum testCurriculum = - new Curriculum(new Grade("gradeId"), "name", new ArrayList<>(List.of(lessonsCount))); + new Curriculum(new Grade("gradeId"), "name", Collections.emptyList()); + testCurriculum.setLessonsCounts( + lessonsCounts.stream().map(LessonsCountRequestDto::map).collect(Collectors.toList()) + ); + when(curriculumRepository.findAll()).thenReturn(new ArrayList<>(List.of(testCurriculum))); when(curriculumRepository.findAll(any(Specification.class))).thenReturn( new ArrayList<>(List.of(testCurriculum))); diff --git a/server/src/test/java/de/uftos/services/TagServiceTests.java b/server/src/test/java/de/uftos/services/TagServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/TeacherServiceTests.java b/server/src/test/java/de/uftos/services/TeacherServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/TimeslotServiceTests.java b/server/src/test/java/de/uftos/services/TimeslotServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/TimetableServiceTests.java b/server/src/test/java/de/uftos/services/TimetableServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java b/server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/utils/ClassCaster.java b/server/src/test/java/de/uftos/utils/ClassCaster.java old mode 100644 new mode 100755 diff --git a/server/src/test/java/de/uftos/utils/JsonGenerator.java b/server/src/test/java/de/uftos/utils/JsonGenerator.java old mode 100644 new mode 100755 index 4e156a5a5..69cbb1f6b --- a/server/src/test/java/de/uftos/utils/JsonGenerator.java +++ b/server/src/test/java/de/uftos/utils/JsonGenerator.java @@ -3,7 +3,6 @@ import de.uftos.dto.Weekday; import de.uftos.dto.requestdtos.LessonsCountRequestDto; import de.uftos.entities.Break; -import de.uftos.entities.TimetableMetadata; import java.util.List; import org.json.JSONArray; import org.json.JSONException; @@ -235,14 +234,16 @@ public static String generateStudentGroupJson(String name, List students /** * Generates the subject JSON. * - * @param name The name of the subject + * @param name The name of the subject + * @param color The color of the subject * @return The requested JSON * @throws JSONException If something is malformed. */ - public static String generateSubjectJson(String name) + public static String generateSubjectJson(String name, String color) throws JSONException { return new JSONObject() .put("name", name) + .put("color", color) .put("tagIds", new JSONArray()) .toString(); } diff --git a/server/ucdl/ucdl.yml b/server/ucdl/ucdl.yml old mode 100644 new mode 100755 From 8b7bc264404f0a9bfa57d6c7bc422d5a1d3ef768 Mon Sep 17 00:00:00 2001 From: uojhd Date: Mon, 2 Sep 2024 12:12:04 +0200 Subject: [PATCH 09/10] checkstyle --- .../test/java/de/uftos/services/StudentGroupServiceTests.java | 4 ++-- .../src/test/java/de/uftos/services/SubjectServiceTests.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java index 4fd8498b1..f110019e9 100755 --- a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java +++ b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java @@ -129,10 +129,10 @@ void setUp() { new ArrayList<>(List.of(grade1))); when( gradeRepository.findAllById(new ArrayList<>(List.of("gradeId1", "emptyGrade")))).thenReturn( - new ArrayList<>(List.of(gradeEmpty, grade1))); + new ArrayList<>(List.of(gradeEmpty, grade1))); when(gradeRepository.findAllById( new ArrayList<>(List.of("noGroupsId", "gradeForUpdate", "emptyGrade")))).thenReturn( - new ArrayList<>(List.of(gradeEmpty, grade1))); + new ArrayList<>(List.of(gradeEmpty, grade1))); studentGroup1.setGrades(new ArrayList<>(List.of(grade1, gradeEmpty))); diff --git a/server/src/test/java/de/uftos/services/SubjectServiceTests.java b/server/src/test/java/de/uftos/services/SubjectServiceTests.java index 6c9421e03..5ea4a936e 100755 --- a/server/src/test/java/de/uftos/services/SubjectServiceTests.java +++ b/server/src/test/java/de/uftos/services/SubjectServiceTests.java @@ -98,7 +98,7 @@ void setUp() { new ArrayList<>(List.of(subject))); when(subjectRepository.findAllById( new ArrayList<>(List.of("nonExistentId", SUBJECT_ID)))).thenReturn( - new ArrayList<>(List.of(subject))); + new ArrayList<>(List.of(subject))); when(subjectRepository.save(any(Subject.class))).thenReturn(subject); LessonsCountRequestDto lessonsCount = new LessonsCountRequestDto("123", 1); From a578f3fd9b5402688b36ad2d195c7c200fb90c34 Mon Sep 17 00:00:00 2001 From: uhkfc Date: Mon, 2 Sep 2024 12:29:00 +0200 Subject: [PATCH 10/10] fix: permissions --- server/.gitignore | 0 server/.mvn/wrapper/maven-wrapper.jar | Bin server/.mvn/wrapper/maven-wrapper.properties | 0 server/Dockerfile | 0 server/checkstyle.xml | 0 server/mvnw.cmd | 0 server/pom.xml | 0 server/src/main/java/de/uftos/UftosApplication.java | 0 .../de/uftos/config/CustomPostgreSqlDialect.java | 0 .../de/uftos/controller/ConstraintController.java | 0 .../de/uftos/controller/CurriculumController.java | 0 .../java/de/uftos/controller/GradeController.java | 0 .../java/de/uftos/controller/RoomController.java | 0 .../java/de/uftos/controller/ServerController.java | 0 .../java/de/uftos/controller/StudentController.java | 0 .../de/uftos/controller/StudentGroupController.java | 0 .../java/de/uftos/controller/SubjectController.java | 0 .../java/de/uftos/controller/TagController.java | 0 .../java/de/uftos/controller/TeacherController.java | 0 .../de/uftos/controller/TimeslotController.java | 0 .../de/uftos/controller/TimetableController.java | 0 .../de/uftos/controller/UcdlEditorController.java | 0 .../de/uftos/dto/ConstraintArgumentDisplayName.java | 0 server/src/main/java/de/uftos/dto/ResourceType.java | 0 .../src/main/java/de/uftos/dto/SuccessResponse.java | 0 server/src/main/java/de/uftos/dto/Weekday.java | 0 .../requestdtos/ConstraintArgumentRequestDto.java | 0 .../requestdtos/ConstraintInstanceRequestDto.java | 0 .../uftos/dto/requestdtos/CurriculumRequestDto.java | 0 .../de/uftos/dto/requestdtos/GradeRequestDto.java | 0 .../dto/requestdtos/LessonsCountRequestDto.java | 0 .../de/uftos/dto/requestdtos/RoomRequestDto.java | 0 .../dto/requestdtos/StudentGroupRequestDto.java | 0 .../de/uftos/dto/requestdtos/StudentRequestDto.java | 0 .../de/uftos/dto/requestdtos/SubjectRequestDto.java | 0 .../de/uftos/dto/requestdtos/TagRequestDto.java | 0 .../de/uftos/dto/requestdtos/TeacherRequestDto.java | 0 .../uftos/dto/requestdtos/TimeslotRequestDto.java | 0 .../uftos/dto/requestdtos/TimetableRequestDto.java | 0 .../ConstraintInstancesResponseDto.java | 0 .../dto/responsedtos/CurriculumResponseDto.java | 0 .../de/uftos/dto/responsedtos/GradeResponseDto.java | 0 .../uftos/dto/responsedtos/LessonResponseDto.java | 0 .../responsedtos/ServerStatisticsResponseDto.java | 0 .../dto/responsedtos/StudentGroupResponseDto.java | 0 .../de/uftos/dto/solver/ConstraintInstanceDto.java | 0 .../java/de/uftos/dto/solver/GradeProblemDto.java | 0 .../java/de/uftos/dto/solver/LessonProblemDto.java | 0 .../de/uftos/dto/solver/ResourceProblemDto.java | 0 .../java/de/uftos/dto/solver/RewardPenalize.java | 0 .../java/de/uftos/dto/solver/RoomProblemDto.java | 0 .../de/uftos/dto/solver/StudentGroupProblemDto.java | 0 .../java/de/uftos/dto/solver/StudentProblemDto.java | 0 .../java/de/uftos/dto/solver/SubjectProblemDto.java | 0 .../java/de/uftos/dto/solver/TagProblemDto.java | 0 .../java/de/uftos/dto/solver/TeacherProblemDto.java | 0 .../de/uftos/dto/solver/TimeslotProblemDto.java | 0 .../de/uftos/dto/solver/TimetableProblemDto.java | 0 .../de/uftos/dto/solver/TimetableSolutionDto.java | 0 .../de/uftos/dto/ucdl/ConstraintDefinitionDto.java | 0 .../src/main/java/de/uftos/dto/ucdl/UcdlToken.java | 0 .../uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java | 0 .../de/uftos/dto/ucdl/ast/ControlSequenceDto.java | 0 .../main/java/de/uftos/dto/ucdl/ast/ElementDto.java | 0 .../java/de/uftos/dto/ucdl/ast/OperatorDto.java | 0 .../java/de/uftos/dto/ucdl/ast/QuantifierDto.java | 0 .../src/main/java/de/uftos/dto/ucdl/ast/SetDto.java | 0 .../main/java/de/uftos/dto/ucdl/ast/ValueDto.java | 0 server/src/main/java/de/uftos/entities/Break.java | 0 .../java/de/uftos/entities/ConstraintArgument.java | 0 .../java/de/uftos/entities/ConstraintInstance.java | 0 .../java/de/uftos/entities/ConstraintParameter.java | 0 .../java/de/uftos/entities/ConstraintSignature.java | 0 .../src/main/java/de/uftos/entities/Curriculum.java | 0 server/src/main/java/de/uftos/entities/Grade.java | 0 server/src/main/java/de/uftos/entities/Lesson.java | 0 .../main/java/de/uftos/entities/LessonsCount.java | 0 server/src/main/java/de/uftos/entities/Room.java | 0 server/src/main/java/de/uftos/entities/Server.java | 0 server/src/main/java/de/uftos/entities/Student.java | 0 .../main/java/de/uftos/entities/StudentGroup.java | 0 server/src/main/java/de/uftos/entities/Subject.java | 0 server/src/main/java/de/uftos/entities/Tag.java | 0 server/src/main/java/de/uftos/entities/Teacher.java | 0 .../src/main/java/de/uftos/entities/Timeslot.java | 0 .../src/main/java/de/uftos/entities/Timetable.java | 0 .../java/de/uftos/entities/TimetableMetadata.java | 0 .../database/ConstraintInstanceRepository.java | 0 .../database/ConstraintSignatureRepository.java | 0 .../repositories/database/CurriculumRepository.java | 0 .../repositories/database/GradeRepository.java | 0 .../repositories/database/LessonRepository.java | 0 .../uftos/repositories/database/RoomRepository.java | 0 .../repositories/database/ServerRepository.java | 0 .../database/StudentGroupRepository.java | 0 .../repositories/database/StudentRepository.java | 0 .../repositories/database/SubjectRepository.java | 0 .../uftos/repositories/database/TagRepository.java | 0 .../repositories/database/TeacherRepository.java | 0 .../repositories/database/TimeslotRepository.java | 0 .../repositories/database/TimetableRepository.java | 0 .../notifications/NotificationRepository.java | 0 .../notifications/NotificationRepositoryImpl.java | 0 .../notifications/NotificationType.java | 0 .../uftos/repositories/solver/SolverRepository.java | 0 .../repositories/solver/SolverRepositoryImpl.java | 0 .../constraints/ConstraintDefinitionFactory.java | 0 .../ConstraintDefinitionTimefoldInstance.java | 0 .../constraints/ConstraintInstanceFactory.java | 0 .../ConstraintInstanceTimefoldInstance.java | 0 .../timefold/domain/GradeTimefoldInstance.java | 0 .../timefold/domain/LessonTimefoldInstance.java | 0 .../timefold/domain/NumberTimefoldInstance.java | 0 .../timefold/domain/ResourceTimefoldInstance.java | 0 .../timefold/domain/RoomTimefoldInstance.java | 0 .../domain/StudentGroupTimefoldInstance.java | 0 .../timefold/domain/StudentTimefoldInstance.java | 0 .../timefold/domain/SubjectTimefoldInstance.java | 0 .../solver/timefold/domain/TagTimefoldInstance.java | 0 .../timefold/domain/TeacherTimefoldInstance.java | 0 .../timefold/domain/TimeslotTimefoldInstance.java | 0 .../domain/TimetableSolutionTimefoldInstance.java | 0 .../solver/timefold/solver/ScoreCalculator.java | 0 .../de/uftos/repositories/ucdl/UcdlRepository.java | 0 .../uftos/repositories/ucdl/UcdlRepositoryImpl.java | 0 .../repositories/ucdl/parser/DefinitionParser.java | 0 .../ucdl/parser/PredefinedConstraint.java | 0 .../uftos/repositories/ucdl/parser/UcdlParser.java | 0 .../ucdl/parser/javacc/JJTSyntaxCheckerState.java | 0 .../uftos/repositories/ucdl/parser/javacc/Node.java | 0 .../ucdl/parser/javacc/ParseException.java | 0 .../ucdl/parser/javacc/SimpleCharStream.java | 0 .../repositories/ucdl/parser/javacc/SimpleNode.java | 0 .../ucdl/parser/javacc/SyntaxChecker.java | 0 .../ucdl/parser/javacc/SyntaxCheckerConstants.java | 0 .../parser/javacc/SyntaxCheckerTokenManager.java | 0 .../parser/javacc/SyntaxCheckerTreeConstants.java | 0 .../repositories/ucdl/parser/javacc/Token.java | 0 .../ucdl/parser/javacc/TokenMgrError.java | 0 .../uftos/services/ConstraintInstanceService.java | 0 .../uftos/services/ConstraintSignatureService.java | 0 .../java/de/uftos/services/CurriculumService.java | 0 .../main/java/de/uftos/services/GradeService.java | 0 .../main/java/de/uftos/services/RoomService.java | 0 .../main/java/de/uftos/services/ServerService.java | 0 .../java/de/uftos/services/StudentGroupService.java | 0 .../main/java/de/uftos/services/StudentService.java | 0 .../main/java/de/uftos/services/SubjectService.java | 0 .../src/main/java/de/uftos/services/TagService.java | 0 .../main/java/de/uftos/services/TeacherService.java | 0 .../java/de/uftos/services/TimeslotService.java | 0 .../java/de/uftos/services/TimetableService.java | 0 .../java/de/uftos/services/UcdlEditorService.java | 0 .../de/uftos/utils/ConstraintInstanceDeleter.java | 0 .../main/java/de/uftos/utils/JsonbConverter.java | 0 .../main/java/de/uftos/utils/LessonsDeleter.java | 0 .../java/de/uftos/utils/SpecificationBuilder.java | 0 server/src/main/resources/application.properties | 0 server/src/main/resources/schema.sql | 0 server/src/main/resources/ucdl.jjt | 0 .../test/java/de/uftos/UftosApplicationTests.java | 0 .../src/test/java/de/uftos/e2e/CurriculumTest.java | 0 server/src/test/java/de/uftos/e2e/GradesTest.java | 0 server/src/test/java/de/uftos/e2e/RoomsTest.java | 0 server/src/test/java/de/uftos/e2e/ServerTest.java | 0 .../test/java/de/uftos/e2e/StudentGroupsTest.java | 0 server/src/test/java/de/uftos/e2e/StudentsTest.java | 0 server/src/test/java/de/uftos/e2e/SubjectsTest.java | 0 server/src/test/java/de/uftos/e2e/TagsTest.java | 0 server/src/test/java/de/uftos/e2e/TeachersTest.java | 0 server/src/test/java/de/uftos/e2e/TimeslotTest.java | 0 .../ConstraintDefinitionFactoryTest.java | 0 .../ConstraintDefinitionTimefoldInstanceTest.java | 0 .../constraints/ConstraintInstanceFactoryTest.java | 0 .../ConstraintInstanceTimefoldInstanceTest.java | 0 .../timefold/domain/GradeTimefoldInstanceTest.java | 0 .../timefold/domain/LessonTimefoldInstanceTest.java | 0 .../timefold/domain/NumberTimefoldInstanceTest.java | 0 .../timefold/domain/RoomTimefoldInstanceTest.java | 0 .../domain/StudentGroupTimefoldInstanceTest.java | 0 .../domain/StudentTimefoldInstanceTest.java | 0 .../domain/SubjectTimefoldInstanceTest.java | 0 .../timefold/domain/TagTimefoldInstanceTest.java | 0 .../domain/TeacherTimefoldInstanceTest.java | 0 .../domain/TimeslotTimefoldInstanceTest.java | 0 .../TimetableSolutionTimefoldInstanceTest.java | 0 .../solver/timefold/solver/ScoreCalculatorTest.java | 0 .../ucdl/parser/DefinitionParserTest.java | 0 .../ucdl/parser/PredefinedConstraintsTest.java | 0 .../repositories/ucdl/parser/UcdlParserTest.java | 0 .../services/ConstraintInstanceServiceTest.java | 0 .../services/ConstraintSignatureServiceTest.java | 0 .../de/uftos/services/CurriculumServiceTests.java | 0 .../java/de/uftos/services/GradeServiceTests.java | 0 .../java/de/uftos/services/RoomServiceTests.java | 0 .../java/de/uftos/services/ServerServiceTests.java | 0 .../de/uftos/services/StudentGroupServiceTests.java | 0 .../java/de/uftos/services/StudentServiceTest.java | 0 .../java/de/uftos/services/SubjectServiceTests.java | 0 .../java/de/uftos/services/TagServiceTests.java | 0 .../java/de/uftos/services/TeacherServiceTests.java | 0 .../de/uftos/services/TimeslotServiceTests.java | 0 .../de/uftos/services/TimetableServiceTests.java | 0 .../de/uftos/services/UcdlEditorServiceTests.java | 0 .../src/test/java/de/uftos/utils/ClassCaster.java | 0 .../src/test/java/de/uftos/utils/JsonGenerator.java | 0 server/ucdl/ucdl.yml | 0 207 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 server/.gitignore mode change 100755 => 100644 server/.mvn/wrapper/maven-wrapper.jar mode change 100755 => 100644 server/.mvn/wrapper/maven-wrapper.properties mode change 100755 => 100644 server/Dockerfile mode change 100755 => 100644 server/checkstyle.xml mode change 100755 => 100644 server/mvnw.cmd mode change 100755 => 100644 server/pom.xml mode change 100755 => 100644 server/src/main/java/de/uftos/UftosApplication.java mode change 100755 => 100644 server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/ConstraintController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/CurriculumController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/GradeController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/RoomController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/ServerController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/StudentController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/StudentGroupController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/SubjectController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/TagController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/TeacherController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/TimeslotController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/TimetableController.java mode change 100755 => 100644 server/src/main/java/de/uftos/controller/UcdlEditorController.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ResourceType.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/SuccessResponse.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/Weekday.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/RewardPenalize.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/TagProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Break.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/ConstraintArgument.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/ConstraintInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/ConstraintParameter.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/ConstraintSignature.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Curriculum.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Grade.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Lesson.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/LessonsCount.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Room.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Server.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Student.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/StudentGroup.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Subject.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Tag.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Teacher.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Timeslot.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/Timetable.java mode change 100755 => 100644 server/src/main/java/de/uftos/entities/TimetableMetadata.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/GradeRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/LessonRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/RoomRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/ServerRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/StudentRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/SubjectRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/TagRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/TeacherRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/database/TimetableRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/notifications/NotificationType.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/SolverRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java mode change 100755 => 100644 server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/ConstraintInstanceService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/ConstraintSignatureService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/CurriculumService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/GradeService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/RoomService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/ServerService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/StudentGroupService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/StudentService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/SubjectService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/TagService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/TeacherService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/TimeslotService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/TimetableService.java mode change 100755 => 100644 server/src/main/java/de/uftos/services/UcdlEditorService.java mode change 100755 => 100644 server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java mode change 100755 => 100644 server/src/main/java/de/uftos/utils/JsonbConverter.java mode change 100755 => 100644 server/src/main/java/de/uftos/utils/LessonsDeleter.java mode change 100755 => 100644 server/src/main/java/de/uftos/utils/SpecificationBuilder.java mode change 100755 => 100644 server/src/main/resources/application.properties mode change 100755 => 100644 server/src/main/resources/schema.sql mode change 100755 => 100644 server/src/main/resources/ucdl.jjt mode change 100755 => 100644 server/src/test/java/de/uftos/UftosApplicationTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/CurriculumTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/GradesTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/RoomsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/ServerTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/StudentGroupsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/StudentsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/SubjectsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/TagsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/TeachersTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/e2e/TimeslotTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/CurriculumServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/GradeServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/RoomServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/ServerServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/StudentGroupServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/StudentServiceTest.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/SubjectServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/TagServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/TeacherServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/TimeslotServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/TimetableServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java mode change 100755 => 100644 server/src/test/java/de/uftos/utils/ClassCaster.java mode change 100755 => 100644 server/src/test/java/de/uftos/utils/JsonGenerator.java mode change 100755 => 100644 server/ucdl/ucdl.yml diff --git a/server/.gitignore b/server/.gitignore old mode 100755 new mode 100644 diff --git a/server/.mvn/wrapper/maven-wrapper.jar b/server/.mvn/wrapper/maven-wrapper.jar old mode 100755 new mode 100644 diff --git a/server/.mvn/wrapper/maven-wrapper.properties b/server/.mvn/wrapper/maven-wrapper.properties old mode 100755 new mode 100644 diff --git a/server/Dockerfile b/server/Dockerfile old mode 100755 new mode 100644 diff --git a/server/checkstyle.xml b/server/checkstyle.xml old mode 100755 new mode 100644 diff --git a/server/mvnw.cmd b/server/mvnw.cmd old mode 100755 new mode 100644 diff --git a/server/pom.xml b/server/pom.xml old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/UftosApplication.java b/server/src/main/java/de/uftos/UftosApplication.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java b/server/src/main/java/de/uftos/config/CustomPostgreSqlDialect.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/ConstraintController.java b/server/src/main/java/de/uftos/controller/ConstraintController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/CurriculumController.java b/server/src/main/java/de/uftos/controller/CurriculumController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/GradeController.java b/server/src/main/java/de/uftos/controller/GradeController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/RoomController.java b/server/src/main/java/de/uftos/controller/RoomController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/ServerController.java b/server/src/main/java/de/uftos/controller/ServerController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/StudentController.java b/server/src/main/java/de/uftos/controller/StudentController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/StudentGroupController.java b/server/src/main/java/de/uftos/controller/StudentGroupController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/SubjectController.java b/server/src/main/java/de/uftos/controller/SubjectController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/TagController.java b/server/src/main/java/de/uftos/controller/TagController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/TeacherController.java b/server/src/main/java/de/uftos/controller/TeacherController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/TimeslotController.java b/server/src/main/java/de/uftos/controller/TimeslotController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/TimetableController.java b/server/src/main/java/de/uftos/controller/TimetableController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/controller/UcdlEditorController.java b/server/src/main/java/de/uftos/controller/UcdlEditorController.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java b/server/src/main/java/de/uftos/dto/ConstraintArgumentDisplayName.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ResourceType.java b/server/src/main/java/de/uftos/dto/ResourceType.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/SuccessResponse.java b/server/src/main/java/de/uftos/dto/SuccessResponse.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/Weekday.java b/server/src/main/java/de/uftos/dto/Weekday.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/ConstraintArgumentRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/ConstraintInstanceRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/CurriculumRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/GradeRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/LessonsCountRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/RoomRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/StudentGroupRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/StudentRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/SubjectRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TagRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TeacherRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TimeslotRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java b/server/src/main/java/de/uftos/dto/requestdtos/TimetableRequestDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/ConstraintInstancesResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/CurriculumResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/GradeResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/LessonResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/ServerStatisticsResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java b/server/src/main/java/de/uftos/dto/responsedtos/StudentGroupResponseDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java b/server/src/main/java/de/uftos/dto/solver/ConstraintInstanceDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java b/server/src/main/java/de/uftos/dto/solver/GradeProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java b/server/src/main/java/de/uftos/dto/solver/LessonProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java b/server/src/main/java/de/uftos/dto/solver/ResourceProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/RewardPenalize.java b/server/src/main/java/de/uftos/dto/solver/RewardPenalize.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java b/server/src/main/java/de/uftos/dto/solver/RoomProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java b/server/src/main/java/de/uftos/dto/solver/StudentGroupProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java b/server/src/main/java/de/uftos/dto/solver/StudentProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java b/server/src/main/java/de/uftos/dto/solver/SubjectProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/TagProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TagProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TeacherProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TimeslotProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java b/server/src/main/java/de/uftos/dto/solver/TimetableProblemDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java b/server/src/main/java/de/uftos/dto/solver/TimetableSolutionDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java b/server/src/main/java/de/uftos/dto/ucdl/ConstraintDefinitionDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java b/server/src/main/java/de/uftos/dto/ucdl/UcdlToken.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/AbstractSyntaxTreeDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ControlSequenceDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ElementDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/OperatorDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/QuantifierDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/SetDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java b/server/src/main/java/de/uftos/dto/ucdl/ast/ValueDto.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Break.java b/server/src/main/java/de/uftos/entities/Break.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/ConstraintArgument.java b/server/src/main/java/de/uftos/entities/ConstraintArgument.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/ConstraintInstance.java b/server/src/main/java/de/uftos/entities/ConstraintInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/ConstraintParameter.java b/server/src/main/java/de/uftos/entities/ConstraintParameter.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/ConstraintSignature.java b/server/src/main/java/de/uftos/entities/ConstraintSignature.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Curriculum.java b/server/src/main/java/de/uftos/entities/Curriculum.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Grade.java b/server/src/main/java/de/uftos/entities/Grade.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Lesson.java b/server/src/main/java/de/uftos/entities/Lesson.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/LessonsCount.java b/server/src/main/java/de/uftos/entities/LessonsCount.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Room.java b/server/src/main/java/de/uftos/entities/Room.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Server.java b/server/src/main/java/de/uftos/entities/Server.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Student.java b/server/src/main/java/de/uftos/entities/Student.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/StudentGroup.java b/server/src/main/java/de/uftos/entities/StudentGroup.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Subject.java b/server/src/main/java/de/uftos/entities/Subject.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Tag.java b/server/src/main/java/de/uftos/entities/Tag.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Teacher.java b/server/src/main/java/de/uftos/entities/Teacher.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Timeslot.java b/server/src/main/java/de/uftos/entities/Timeslot.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/Timetable.java b/server/src/main/java/de/uftos/entities/Timetable.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/entities/TimetableMetadata.java b/server/src/main/java/de/uftos/entities/TimetableMetadata.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java b/server/src/main/java/de/uftos/repositories/database/ConstraintInstanceRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java b/server/src/main/java/de/uftos/repositories/database/ConstraintSignatureRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java b/server/src/main/java/de/uftos/repositories/database/CurriculumRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/GradeRepository.java b/server/src/main/java/de/uftos/repositories/database/GradeRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/LessonRepository.java b/server/src/main/java/de/uftos/repositories/database/LessonRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/RoomRepository.java b/server/src/main/java/de/uftos/repositories/database/RoomRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/ServerRepository.java b/server/src/main/java/de/uftos/repositories/database/ServerRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java b/server/src/main/java/de/uftos/repositories/database/StudentGroupRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/StudentRepository.java b/server/src/main/java/de/uftos/repositories/database/StudentRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/SubjectRepository.java b/server/src/main/java/de/uftos/repositories/database/SubjectRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/TagRepository.java b/server/src/main/java/de/uftos/repositories/database/TagRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/TeacherRepository.java b/server/src/main/java/de/uftos/repositories/database/TeacherRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java b/server/src/main/java/de/uftos/repositories/database/TimeslotRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/database/TimetableRepository.java b/server/src/main/java/de/uftos/repositories/database/TimetableRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationRepositoryImpl.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/notifications/NotificationType.java b/server/src/main/java/de/uftos/repositories/notifications/NotificationType.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/SolverRepository.java b/server/src/main/java/de/uftos/repositories/solver/SolverRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/solver/SolverRepositoryImpl.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactory.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactory.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/ResourceTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java b/server/src/main/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstance.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java b/server/src/main/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculator.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java b/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepository.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java b/server/src/main/java/de/uftos/repositories/ucdl/UcdlRepositoryImpl.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/DefinitionParser.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/PredefinedConstraint.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/UcdlParser.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/JJTSyntaxCheckerState.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Node.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/ParseException.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleCharStream.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SimpleNode.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxChecker.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerConstants.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTokenManager.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/SyntaxCheckerTreeConstants.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/Token.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java b/server/src/main/java/de/uftos/repositories/ucdl/parser/javacc/TokenMgrError.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/ConstraintInstanceService.java b/server/src/main/java/de/uftos/services/ConstraintInstanceService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/ConstraintSignatureService.java b/server/src/main/java/de/uftos/services/ConstraintSignatureService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/CurriculumService.java b/server/src/main/java/de/uftos/services/CurriculumService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/GradeService.java b/server/src/main/java/de/uftos/services/GradeService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/RoomService.java b/server/src/main/java/de/uftos/services/RoomService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/ServerService.java b/server/src/main/java/de/uftos/services/ServerService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/StudentGroupService.java b/server/src/main/java/de/uftos/services/StudentGroupService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/StudentService.java b/server/src/main/java/de/uftos/services/StudentService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/SubjectService.java b/server/src/main/java/de/uftos/services/SubjectService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/TagService.java b/server/src/main/java/de/uftos/services/TagService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/TeacherService.java b/server/src/main/java/de/uftos/services/TeacherService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/TimeslotService.java b/server/src/main/java/de/uftos/services/TimeslotService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/TimetableService.java b/server/src/main/java/de/uftos/services/TimetableService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/services/UcdlEditorService.java b/server/src/main/java/de/uftos/services/UcdlEditorService.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java b/server/src/main/java/de/uftos/utils/ConstraintInstanceDeleter.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/utils/JsonbConverter.java b/server/src/main/java/de/uftos/utils/JsonbConverter.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/utils/LessonsDeleter.java b/server/src/main/java/de/uftos/utils/LessonsDeleter.java old mode 100755 new mode 100644 diff --git a/server/src/main/java/de/uftos/utils/SpecificationBuilder.java b/server/src/main/java/de/uftos/utils/SpecificationBuilder.java old mode 100755 new mode 100644 diff --git a/server/src/main/resources/application.properties b/server/src/main/resources/application.properties old mode 100755 new mode 100644 diff --git a/server/src/main/resources/schema.sql b/server/src/main/resources/schema.sql old mode 100755 new mode 100644 diff --git a/server/src/main/resources/ucdl.jjt b/server/src/main/resources/ucdl.jjt old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/UftosApplicationTests.java b/server/src/test/java/de/uftos/UftosApplicationTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/CurriculumTest.java b/server/src/test/java/de/uftos/e2e/CurriculumTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/GradesTest.java b/server/src/test/java/de/uftos/e2e/GradesTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/RoomsTest.java b/server/src/test/java/de/uftos/e2e/RoomsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/ServerTest.java b/server/src/test/java/de/uftos/e2e/ServerTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java b/server/src/test/java/de/uftos/e2e/StudentGroupsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/StudentsTest.java b/server/src/test/java/de/uftos/e2e/StudentsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/SubjectsTest.java b/server/src/test/java/de/uftos/e2e/SubjectsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/TagsTest.java b/server/src/test/java/de/uftos/e2e/TagsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/TeachersTest.java b/server/src/test/java/de/uftos/e2e/TeachersTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/e2e/TimeslotTest.java b/server/src/test/java/de/uftos/e2e/TimeslotTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionFactoryTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintDefinitionTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceFactoryTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/constraints/ConstraintInstanceTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/GradeTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/LessonTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/NumberTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/RoomTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentGroupTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/StudentTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/SubjectTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TagTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TeacherTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimeslotTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/domain/TimetableSolutionTimefoldInstanceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java b/server/src/test/java/de/uftos/repositories/solver/timefold/solver/ScoreCalculatorTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/DefinitionParserTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/PredefinedConstraintsTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java b/server/src/test/java/de/uftos/repositories/ucdl/parser/UcdlParserTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java b/server/src/test/java/de/uftos/services/ConstraintInstanceServiceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java b/server/src/test/java/de/uftos/services/ConstraintSignatureServiceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/CurriculumServiceTests.java b/server/src/test/java/de/uftos/services/CurriculumServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/GradeServiceTests.java b/server/src/test/java/de/uftos/services/GradeServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/RoomServiceTests.java b/server/src/test/java/de/uftos/services/RoomServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/ServerServiceTests.java b/server/src/test/java/de/uftos/services/ServerServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java b/server/src/test/java/de/uftos/services/StudentGroupServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/StudentServiceTest.java b/server/src/test/java/de/uftos/services/StudentServiceTest.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/SubjectServiceTests.java b/server/src/test/java/de/uftos/services/SubjectServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/TagServiceTests.java b/server/src/test/java/de/uftos/services/TagServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/TeacherServiceTests.java b/server/src/test/java/de/uftos/services/TeacherServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/TimeslotServiceTests.java b/server/src/test/java/de/uftos/services/TimeslotServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/TimetableServiceTests.java b/server/src/test/java/de/uftos/services/TimetableServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java b/server/src/test/java/de/uftos/services/UcdlEditorServiceTests.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/utils/ClassCaster.java b/server/src/test/java/de/uftos/utils/ClassCaster.java old mode 100755 new mode 100644 diff --git a/server/src/test/java/de/uftos/utils/JsonGenerator.java b/server/src/test/java/de/uftos/utils/JsonGenerator.java old mode 100755 new mode 100644 diff --git a/server/ucdl/ucdl.yml b/server/ucdl/ucdl.yml old mode 100755 new mode 100644