diff --git a/src/main/java/nl/tudelft/ewi/queue/DatabaseLoader.java b/src/main/java/nl/tudelft/ewi/queue/DatabaseLoader.java index 38c687714086084b7d0e65f0e1c658c984907bcf..3f0a43ff18477ea8e9faa4dea5521259b80d83f9 100644 --- a/src/main/java/nl/tudelft/ewi/queue/DatabaseLoader.java +++ b/src/main/java/nl/tudelft/ewi/queue/DatabaseLoader.java @@ -21,7 +21,6 @@ import nl.tudelft.ewi.queue.repository.RequestRepository; import nl.tudelft.ewi.queue.repository.RequestTypeRepository; import nl.tudelft.ewi.queue.repository.RoomRepository; import nl.tudelft.ewi.queue.repository.UserRepository; -import com.mysql.cj.api.xdevapi.PasswordHandler; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -85,15 +84,7 @@ public class DatabaseLoader { @PostConstruct private void initDatabase() { - // Users - - User student12 = userRepository.save(new User("studentCedille", "studentCedille", "ştudent12", "a@b" + - ".c", DefaultRole.ROLE_STUDENT, -2)); - - User student13 = new User("imusic", "", "***REMOVED*** Mušić", - "imusic@tudelft.net", DefaultRole.ROLE_STUDENT, -2); - saveUserWithCheck(student13); - + // Normal students List<User> students = new ArrayList<>(); for (int i = 1; i <= 100; i++) { @@ -102,6 +93,21 @@ public class DatabaseLoader { userRepository.save(student); } + // Special users + User student12 = userRepository.save(new User("studentCedille", "studentCedille", "��tudent12", "a@b" + + ".c", DefaultRole.ROLE_STUDENT, -2)); + saveUserWithCheck(student12); + + User student13 = new User("imusic", "", "***REMOVED*** Mu��i��", + "imusic@tudelft.net", DefaultRole.ROLE_STUDENT, -2); + saveUserWithCheck(student13); + + + User assistant1 = userRepository.save(dummyUser("assistant1", DefaultRole.ROLE_STUDENT)); + User assistant2 = userRepository.save(dummyUser("assistant2", DefaultRole.ROLE_STUDENT)); + User assistant3 = userRepository.save(dummyUser("assistant3", DefaultRole.ROLE_STUDENT)); + User assistant4 = userRepository.save(dummyUser("assistant4", DefaultRole.ROLE_STUDENT)); + User manager1 = userRepository.save(dummyUser("manager1", DefaultRole.ROLE_STUDENT)); User manager2 = userRepository.save(dummyUser("manager2", DefaultRole.ROLE_STUDENT)); User manager3 = userRepository.save(dummyUser("manager3", DefaultRole.ROLE_STUDENT)); @@ -166,6 +172,20 @@ public class DatabaseLoader { userRepository.save(student4); } + assistant1.addRole(new Assistant(assistant1, course1)); + + assistant2.addRole(new Assistant(assistant2, course1)); + assistant2.addRole(new Assistant(assistant2, course2)); + + assistant3.addRole(new Assistant(assistant3, course1)); + assistant3.addRole(new Assistant(assistant3, course2)); + assistant3.addRole(new Assistant(assistant3, course3)); + + assistant4.addRole(new Assistant(assistant4, course1)); + assistant4.addRole(new Assistant(assistant4, course2)); + assistant4.addRole(new Assistant(assistant4, course3)); + assistant4.addRole(new Assistant(assistant4, course4)); + manager1.addRole(new Manager(manager1, course1)); manager2.addRole(new Manager(manager2, course2)); manager3.addRole(new Manager(manager3, course2)); diff --git a/src/main/java/nl/tudelft/ewi/queue/controller/CourseController.java b/src/main/java/nl/tudelft/ewi/queue/controller/CourseController.java index a9d6c7504d1e47f7e22faf33ff56fd724b2140a1..8cc190c79f6173cbdbaf7ba3dc7b31ac92fa3b77 100644 --- a/src/main/java/nl/tudelft/ewi/queue/controller/CourseController.java +++ b/src/main/java/nl/tudelft/ewi/queue/controller/CourseController.java @@ -42,7 +42,6 @@ import javax.persistence.EntityNotFoundException; import javax.validation.Valid; import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; diff --git a/src/main/java/nl/tudelft/ewi/queue/helper/BrightspaceCsvHelper.java b/src/main/java/nl/tudelft/ewi/queue/helper/BrightspaceCsvHelper.java index 03ecec346aa7e09abc4f3498d79ec232d4f44733..2848bc4d0ef52ec3fa6f10afea104e5332ce4544 100644 --- a/src/main/java/nl/tudelft/ewi/queue/helper/BrightspaceCsvHelper.java +++ b/src/main/java/nl/tudelft/ewi/queue/helper/BrightspaceCsvHelper.java @@ -88,7 +88,8 @@ public class BrightspaceCsvHelper { public static ArrayList<BrightspaceCsvHelper> readCsv(MultipartFile csvFile) throws IOException { InputStream contents = csvFile.getInputStream(); - Scanner scanner = new Scanner(contents).useDelimiter("\\A"); + Scanner scanner = new Scanner(contents); + scanner.useDelimiter("\\A"); ArrayList<BrightspaceCsvHelper> csvResultSet = new ArrayList<>(); String csv = ""; if (scanner.hasNext()) { @@ -100,7 +101,7 @@ public class BrightspaceCsvHelper { Optional<BrightspaceCsvHelper> student = lineToCsvObject(studentGroup); student.ifPresent(csvResultSet::add); } - contents.close(); + scanner.close(); return csvResultSet; } diff --git a/src/main/java/nl/tudelft/ewi/queue/model/FirstYearStudent.java b/src/main/java/nl/tudelft/ewi/queue/model/FirstYearStudent.java index 6440eb3f02d3963bd849f2efb5ea6805f745b379..d1bf67b1508464f2f0869bc2bbd8d35a2175ba56 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/FirstYearStudent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/FirstYearStudent.java @@ -69,7 +69,8 @@ public class FirstYearStudent implements Serializable { public static ArrayList<List<String>> readCsv(MultipartFile csvFile) throws IOException { InputStream contents = csvFile.getInputStream(); - Scanner scanner = new Scanner(contents).useDelimiter("\\A"); + Scanner scanner = new Scanner(contents); + scanner.useDelimiter("\\A"); ArrayList<List<String>> csvResultSet = new ArrayList<>(); String csv = ""; if (scanner.hasNext()) { @@ -81,7 +82,7 @@ public class FirstYearStudent implements Serializable { List<String> mentorGroup = lineToFirstYearStudent(studentGroup); csvResultSet.add(mentorGroup); } - contents.close(); + scanner.close(); return csvResultSet; } diff --git a/src/main/java/nl/tudelft/ewi/queue/model/Group.java b/src/main/java/nl/tudelft/ewi/queue/model/Group.java index 8f8392be5ebced5d6c3f4f90eb119efa698db67c..e8437c5096c78b19de40490a02771741daf121f0 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/Group.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/Group.java @@ -11,7 +11,12 @@ import java.util.List; @Table(name="\"GROUP\"") public class Group extends RequestEntity { - @ManyToMany + /** + * + */ + private static final long serialVersionUID = 5164438526508141678L; + + @ManyToMany private List<User> members = new ArrayList<>(); @ManyToOne diff --git a/src/main/java/nl/tudelft/ewi/queue/model/Lab.java b/src/main/java/nl/tudelft/ewi/queue/model/Lab.java index ddf12fbde1f3e6b496996d0c350c1b26fd7f0948..b2dd3414c5ed676dc5bc47d623971a679ecae250 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/Lab.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/Lab.java @@ -31,7 +31,12 @@ import java.util.stream.Stream; @Where(clause = "deleted_at IS NULL") @EnableCaching public class Lab implements Serializable { - public final static String TIME_FORMAT = "dd/MM/yyyy HH:mm"; + /** + * + */ + private static final long serialVersionUID = 4861827801551639673L; + + public final static String TIME_FORMAT = "dd/MM/yyyy HH:mm"; @Id @GeneratedValue diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestApprovedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestApprovedEvent.java index 8f2a25e943f416961f51d76f8d400ef431a36bf2..f0d9990642ce524c4467586c17536f5a0aad1980 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestApprovedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestApprovedEvent.java @@ -7,7 +7,12 @@ import java.time.LocalDateTime; @Entity public class RequestApprovedEvent extends RequestEvent { - private LocalDateTime approvedAt; + /** + * + */ + private static final long serialVersionUID = 992798464939565962L; + + private LocalDateTime approvedAt; @Size(max=250) private String reason; diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestAssignedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestAssignedEvent.java index ea89a34a30b1d72d6d3a9724ed093532e6685b36..3fd4e2c1e3b9d92bcfc27b383eddd862554008e8 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestAssignedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestAssignedEvent.java @@ -6,7 +6,12 @@ import java.time.LocalDateTime; @Entity public class RequestAssignedEvent extends RequestEvent { - protected LocalDateTime assignedAt; + /** + * + */ + private static final long serialVersionUID = 7768507952136925203L; + + protected LocalDateTime assignedAt; @ManyToOne protected User assignedTo; diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestCreatedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestCreatedEvent.java index de801c59da5d6726ce96a0931c91685be5acebdd..86e0b9ac34998f7a430ef0402e66b2036adf0378 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestCreatedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestCreatedEvent.java @@ -5,7 +5,11 @@ import java.time.LocalDateTime; @Entity public class RequestCreatedEvent extends RequestEvent { - protected LocalDateTime createdAt; + /** + * + */ + private static final long serialVersionUID = -6845911533535937239L; + protected LocalDateTime createdAt; public RequestCreatedEvent() { super(); diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardToAnyEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardToAnyEvent.java index 08251c472cd63325e890efed020100b8caded671..3ab0af4f6611e012adadac00229c4c347c79470a 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardToAnyEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardToAnyEvent.java @@ -6,7 +6,12 @@ import java.time.LocalDateTime; @Entity public class RequestForwardToAnyEvent extends RequestEvent { - private LocalDateTime forwardedAt; + /** + * + */ + private static final long serialVersionUID = 3321677681535290268L; + + private LocalDateTime forwardedAt; @Size(max=250) private String reason; diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardedEvent.java index bcb05ac9ea484777574e31333685fc91a306ff59..96d7375fd09831595feedea9d36024f7d1072dbd 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestForwardedEvent.java @@ -7,7 +7,12 @@ import java.time.LocalDateTime; @Entity public class RequestForwardedEvent extends RequestEvent { - private LocalDateTime forwardedAt; + /** + * + */ + private static final long serialVersionUID = -348089219618245506L; + + private LocalDateTime forwardedAt; @ManyToOne private User forwardedTo; diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestProcessingEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestProcessingEvent.java index 24d65a312df532f9d7d1e7277ea894b723d437d6..8b6856e77e659377d3ab0ee48e4361f389c75a47 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestProcessingEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestProcessingEvent.java @@ -5,7 +5,11 @@ import java.time.LocalDateTime; @Entity public class RequestProcessingEvent extends RequestEvent { - protected LocalDateTime processingAt; + /** + * + */ + private static final long serialVersionUID = -5018900505348041016L; + protected LocalDateTime processingAt; public RequestProcessingEvent() { super(); diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestRejectedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestRejectedEvent.java index a0f216ec6eaaa2b197473fc4b568d84b7128f1d8..9c813b738baf81925f81994175603a277b23269f 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestRejectedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestRejectedEvent.java @@ -7,7 +7,12 @@ import java.time.LocalDateTime; @Entity public class RequestRejectedEvent extends RequestEvent { - private LocalDateTime rejectedAt; + /** + * + */ + private static final long serialVersionUID = -6560217433195047238L; + + private LocalDateTime rejectedAt; @Size(max=250) private String reason; diff --git a/src/main/java/nl/tudelft/ewi/queue/model/RequestRevokedEvent.java b/src/main/java/nl/tudelft/ewi/queue/model/RequestRevokedEvent.java index 87b0f62bfbed1bfe9ff759f5463bd11857ddd423..0042e1be57ac8053a249001ecbc11c963d726a65 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/RequestRevokedEvent.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/RequestRevokedEvent.java @@ -5,7 +5,11 @@ import java.time.LocalDateTime; @Entity public class RequestRevokedEvent extends RequestEvent { - private LocalDateTime revokedAt; + /** + * + */ + private static final long serialVersionUID = -5160734036008128989L; + private LocalDateTime revokedAt; public RequestRevokedEvent() { super(); diff --git a/src/main/java/nl/tudelft/ewi/queue/model/Subscription.java b/src/main/java/nl/tudelft/ewi/queue/model/Subscription.java index 09aaaaa59cbfaa1a9cbe1da847471263d1c84e40..14bfa54b70b86f08028850e30d0dcf7181880bc0 100644 --- a/src/main/java/nl/tudelft/ewi/queue/model/Subscription.java +++ b/src/main/java/nl/tudelft/ewi/queue/model/Subscription.java @@ -17,7 +17,12 @@ import java.util.Base64; @Entity public class Subscription implements Serializable { - @Id + /** + * + */ + private static final long serialVersionUID = -1247750903720299588L; + + @Id private String endpoint; private String key; diff --git a/src/main/java/nl/tudelft/ewi/queue/service/GroupService.java b/src/main/java/nl/tudelft/ewi/queue/service/GroupService.java index 26492eca182cd14e89517cf42a7fc5dadd0be528..4d36aff2cf81674545a1994859afe75a34d1b8ba 100644 --- a/src/main/java/nl/tudelft/ewi/queue/service/GroupService.java +++ b/src/main/java/nl/tudelft/ewi/queue/service/GroupService.java @@ -5,7 +5,6 @@ import nl.tudelft.ewi.queue.model.Course; import nl.tudelft.ewi.queue.model.DefaultRole; import nl.tudelft.ewi.queue.model.FirstYearStudent; import nl.tudelft.ewi.queue.model.Group; -import nl.tudelft.ewi.queue.model.Student; import nl.tudelft.ewi.queue.model.User; import nl.tudelft.ewi.queue.repository.CourseRepository; import nl.tudelft.ewi.queue.repository.FirstYearStudentRepository; @@ -14,16 +13,11 @@ import nl.tudelft.ewi.queue.repository.UserRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.DataIntegrityViolationException; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; -import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; @Service public class GroupService { diff --git a/src/test/java/nl/tudelft/ewi/queue/controller/RequestControllerTest.java b/src/test/java/nl/tudelft/ewi/queue/controller/RequestControllerTest.java index 074ffde8ba1e4b72a696774f100a344d71d11970..843051c25fe014effeed387cc0da7b52e7f780bc 100644 --- a/src/test/java/nl/tudelft/ewi/queue/controller/RequestControllerTest.java +++ b/src/test/java/nl/tudelft/ewi/queue/controller/RequestControllerTest.java @@ -141,7 +141,7 @@ public class RequestControllerTest { @Test @WithUserDetails("teacher1") public void testRejectARequestPost() throws Exception { - User assistant = userRepository.findByUsername("student2"); + User assistant = userRepository.findByUsername("assistant1"); RequestProcessingEvent processing = new RequestProcessingEvent(request, LocalDateTime.now()); RequestAssignedEvent assigned = new RequestAssignedEvent(request, LocalDateTime.now(), assistant); request.addEvent(processing); @@ -173,7 +173,7 @@ public class RequestControllerTest { @Transactional @WithUserDetails("teacher1") public void testForwardRequestPost() throws Exception { - User assistant = userRepository.findByUsername("student2"); + User assistant = userRepository.findByUsername("assistant2"); request.setAssistant(assistant); requestRepository.save(request); @@ -181,7 +181,7 @@ public class RequestControllerTest { .perform( post("/request/" + request.getId() + "?forward=") .with(csrf()) - .param("assistant", "8") + .param("assistant", "3") .param("comment", "What is this, I don't even") ) .andExpect(status().is3xxRedirection()) diff --git a/src/test/java/nl/tudelft/ewi/queue/model/LabTest.java b/src/test/java/nl/tudelft/ewi/queue/model/LabTest.java index 3842796586a5cc07bd5b4ab150f807949b82b9ac..50c8466a9e26a4578c9fcb66f6f841518e444cff 100644 --- a/src/test/java/nl/tudelft/ewi/queue/model/LabTest.java +++ b/src/test/java/nl/tudelft/ewi/queue/model/LabTest.java @@ -77,7 +77,8 @@ public class LabTest { @Test @Transactional public void testIsEnqueuedEmptyQueue() { - User randomUser = userRepository.findByUsername("student3"); + // student chosen by random dice roll (also: above 25) + User randomUser = userRepository.findByUsername("student42"); Assert.assertFalse(lab.isEnqueued(randomUser)); } @@ -118,7 +119,7 @@ public class LabTest { @Test @Transactional public void testEnqueueWithoutEnroll() { - User randomUser = userRepository.findByUsername("student11"); + User randomUser = userRepository.findByUsername("student43"); //again... random + 1 Assert.assertFalse(lab.isEnqueued(randomUser)); Assert.assertFalse(lab.getCourse().isEnrolled(randomUser)); Request request = new Request(user, null, new Room("DW 101"), submissionRequestType, "", lab); @@ -131,7 +132,7 @@ public class LabTest { public void testGetQueue() { List<Request> queue = lab.getQueue(); Assert.assertNotNull(queue); - Assert.assertEquals(1, queue.size()); + Assert.assertEquals(25, queue.size()); // adapted to state in DatabaseLoader } @Test @@ -139,7 +140,7 @@ public class LabTest { public void testGetPending() { List<Request> pending = lab.getPending(); Assert.assertNotNull(pending); - Assert.assertEquals(1, pending.size()); + Assert.assertEquals(25, pending.size()); // adapted to state in DatabaseLoader Assert.assertEquals(pending.get(0).getRequestEntity().getDisplayName(), "student1"); }