private void placeTheoryLecture(Lecture lecture, ArrayList<ClassRoom> rooms2) { // TODO Auto-generated method stub int size = lecture.getStudentGroup().getSize(); String dept = lecture.getStudentGroup().getDepartment(); boolean invalid = true; ClassRoom room = null; Collections.shuffle(rooms2); while (invalid) { room = getBestRoom(size, rooms2); if (room.getDepartment().equalsIgnoreCase(dept)) { invalid = false; Collections.shuffle(rooms2); } else { Collections.shuffle(rooms2); } } ArrayList<Day> weekdays = room.getWeek().getWeekDays(); Iterator<Day> daysIterator = weekdays.iterator(); while (daysIterator.hasNext()) { Day day = daysIterator.next(); ArrayList<TimeSlot> timeslots = day.getTimeSlot(); Iterator<TimeSlot> timeslotIterator = timeslots.iterator(); while (timeslotIterator.hasNext()) { TimeSlot lecture2 = timeslotIterator.next(); if (lecture2.getLecture() == null) { lecture2.setLecture(lecture); return; } } } }
private boolean checkOccupiedRoom(ClassRoom tempRoom, ArrayList<ClassRoom> rooms2) { // TODO Auto-generated method stub for (Iterator<ClassRoom> roomsIterator = rooms2.iterator(); roomsIterator.hasNext(); ) { ClassRoom room = roomsIterator.next(); if (room.equals(tempRoom)) { ArrayList<Day> weekdays = room.getWeek().getWeekDays(); Iterator<Day> daysIterator = weekdays.iterator(); while (daysIterator.hasNext()) { Day day = daysIterator.next(); ArrayList<TimeSlot> timeslots = day.getTimeSlot(); Iterator<TimeSlot> timeslotIterator = timeslots.iterator(); while (timeslotIterator.hasNext()) { TimeSlot lecture = timeslotIterator.next(); if (lecture.getLecture() == null) { return false; } } } return true; } } return false; }