From b332db195df8970fba69e23fec3ec86d701887b5 Mon Sep 17 00:00:00 2001 From: RandomCyberCoder Date: Tue, 5 May 2026 11:46:57 -0700 Subject: [PATCH 1/2] updated list view so it's orderd by course name --- .../schooltimetabling/helperClasses/ResultSaver.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java b/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java index 0e107b50..a5d1c956 100644 --- a/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java +++ b/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java @@ -262,6 +262,16 @@ private void listView(XSSFSheet listSheet, List validLessons, List lessons, int rowIdx) { + //sort the list so it look neat to look at; sort by course name + //make the list mutable for sorting + lessons = new ArrayList<>(lessons); + lessons.sort((a, b) -> { + String nameA = a.getCourseName(); + String nameB = b.getCourseName(); + + return nameA.compareTo(nameB); + }); + for(Lesson lesson: lessons){ final Timeslot lsTs = lesson.getTimeslot(); Timeslot.test_minSetUp("1"); From b2bb737a3502875f6be25595868bc8bf068d850a Mon Sep 17 00:00:00 2001 From: RandomCyberCoder Date: Tue, 5 May 2026 11:47:13 -0700 Subject: [PATCH 2/2] updated solver so solutions are repoducible --- .../helperClasses/ResultSaver.java | 28 +++++++++++++------ .../src/main/resources/solverConfig.xml | 2 +- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java b/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java index a5d1c956..659946a6 100644 --- a/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java +++ b/java/hello-world/src/main/java/org/acme/schooltimetabling/helperClasses/ResultSaver.java @@ -262,15 +262,8 @@ private void listView(XSSFSheet listSheet, List validLessons, List lessons, int rowIdx) { - //sort the list so it look neat to look at; sort by course name - //make the list mutable for sorting - lessons = new ArrayList<>(lessons); - lessons.sort((a, b) -> { - String nameA = a.getCourseName(); - String nameB = b.getCourseName(); - return nameA.compareTo(nameB); - }); + lessons = sortLessons(lessons); for(Lesson lesson: lessons){ final Timeslot lsTs = lesson.getTimeslot(); @@ -299,6 +292,9 @@ private int listViewPrntHlpr(XSSFSheet listSheet, List lessons, int rowI * list view helper for printing out the skipped lessons */ private int listViewSkipHelper(XSSFSheet listSheet, List lessons, int rowIdx){ + + lessons = sortLessons(lessons); + for(Lesson lesson: lessons){ Row row = listSheet.createRow(rowIdx++); Object[] vals = new Object[]{lesson.getCourseName(), "N/A", lesson.getModifiers(), @@ -328,6 +324,22 @@ else if (val instanceof Boolean){ } } + + private List sortLessons(List list){ + //sort the list so it look neat to look at; sort by course name + //make the list mutable for sorting + List toSort = new ArrayList<>(list); + toSort.sort((a, b) -> { + String nameA = a.getCourseName(); + String nameB = b.getCourseName(); + + return nameA.compareTo(nameB); + }); + + return toSort; + } + + /** * driver function for printing out the teacher view Excel sheet */ diff --git a/java/hello-world/src/main/resources/solverConfig.xml b/java/hello-world/src/main/resources/solverConfig.xml index e6292076..1686c78e 100644 --- a/java/hello-world/src/main/resources/solverConfig.xml +++ b/java/hello-world/src/main/resources/solverConfig.xml @@ -11,7 +11,7 @@ - NON_REPRODUCIBLE + 100