public static void printSchedules(ArrayList<ArrayList<SchedulerCourse>> schedules) { int count = 0; for (ArrayList<SchedulerCourse> schedule : schedules) { System.out.println(); System.out.println( "#" + count + "-------------------------------------------------------------------"); count++; System.out.println(); for (SchedulerCourse course : schedule) { System.out.println(); System.out.println(); System.out.println("COURSE"); System.out.println(course.getName()); for (ClassSection section : course.getSections()) { for (ClassDay day : section.getClassDays()) { System.out.println(); System.out.print("DAY:"); for (Integer hour : day.getHourSlots()) { System.out.print(section.getTeacher() + hour + ", "); } } } } } }
// =========================================================================================== // // checks to see if a section does not have any class days with hours in // them public boolean isSectionEmpty(ClassSection section) { for (ClassDay day : section.getClassDays()) { if (day.getHourSlots().size() > 0) { return false; } } return true; }
// =========================================================================================== // // completely flattens out a list of schedules to an ArrayList of Integers public static ArrayList<Integer> getDayHoursLists( ArrayList<ArrayList<SchedulerCourse>> schedules) { ArrayList<Integer> hours = new ArrayList<Integer>(); for (ArrayList<SchedulerCourse> schedule : schedules) { for (SchedulerCourse course : schedule) { for (ClassSection section : course.getSections()) { for (ClassDay day : section.getClassDays()) { for (Integer hour : day.getHourSlots()) { hours.add(hour); } } } } } return hours; }
public boolean sectionOverlapWithSection(ClassSection section1, ClassSection section2) { for (ClassDay day : section1.getClassDays()) { for (Integer hour : day.getHourSlots()) { for (ClassDay day2 : section2.getClassDays()) { for (Integer hour2 : day2.getHourSlots()) { if (hour == hour2) { return true; } } } } } return false; }