From 8310af3b4bdbffa082e22a1409a02d799969374a Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sat, 26 Nov 2022 17:37:37 -0500 Subject: [PATCH 01/14] integrated scheduling use case into event creation use case --- src/main/java/Main.java | 8 +++++++- .../EventCreationInteractor.java | 19 ++++++++++++++++--- .../SchedulerRequestModel.java | 8 ++++---- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 1643f90..27f05c6 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,6 +4,8 @@ import event_creation_use_case.*; import login_usecase.*; import progress_tracker_use_case.*; +import schedule_conflict_use_case.ScheduleConflictPresenter; +import scheduler_use_case.SchedulerPresenter; import screens.*; import user_register_usecase.*; @@ -35,8 +37,12 @@ public static void main(String[] args) { User user = ((UserRegInteractor) userInteractor).getUser(); + SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); + ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); + EventCreationPresenter eventPresenter = new EventCreationResponseFormatter(); - EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user); + EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user, + schedulerPresenter, scheduleConflictPresenter); EventCreationController eventCreationController = new EventCreationController(eventInteractor); ProgressTrackerOutputBoundary trackerPresenter = new ProgressTrackerPresenter(); diff --git a/src/main/java/event_creation_use_case/EventCreationInteractor.java b/src/main/java/event_creation_use_case/EventCreationInteractor.java index d28193d..39c03df 100644 --- a/src/main/java/event_creation_use_case/EventCreationInteractor.java +++ b/src/main/java/event_creation_use_case/EventCreationInteractor.java @@ -4,6 +4,10 @@ import entities.StudentUser; import entities.TaskMap; import read_write.*; +import schedule_conflict_use_case.ScheduleConflictPresenter; +import scheduler_use_case.SchedulerInteractor; +import scheduler_use_case.SchedulerPresenter; +import scheduler_use_case.SchedulerRequestModel; import java.time.LocalDateTime; @@ -11,9 +15,14 @@ public class EventCreationInteractor implements EventCreationInputBoundary { final EventCreationPresenter presenter; final StudentUser student; - public EventCreationInteractor(EventCreationPresenter eventPresenter, StudentUser student) { + // For connecting to Scheduler use case + final SchedulerInteractor scheduler; + + public EventCreationInteractor(EventCreationPresenter eventPresenter, StudentUser student, + SchedulerPresenter schedulerPresenter, ScheduleConflictPresenter scheduleConflictPresenter) { this.presenter = eventPresenter; this.student = student; + this.scheduler = new SchedulerInteractor(scheduleConflictPresenter, schedulerPresenter); } @Override @@ -29,12 +38,16 @@ public EventCreationResponseModel create(EventCreationRequestModel requestModel) requestModel.getStartTime(), requestModel.getEndTime(), requestModel.getRecurring(), requestModel.getFrequency()); + EventCreationResponseModel eventResponseModel = new EventCreationResponseModel( + requestModel.getTitle(), requestModel.getStartTime(), requestModel.getEndTime()); + + // Schedule the newly created event + SchedulerRequestModel scheduleRequestModel = new SchedulerRequestModel(event, student); + scheduler.schedule(scheduleRequestModel); TaskReadWrite trw = new TaskReadWrite("src/data/TaskMap"); TaskMap.saveToFile(trw); - EventCreationResponseModel eventResponseModel = new EventCreationResponseModel( - requestModel.getTitle(), requestModel.getStartTime(), requestModel.getEndTime()); return presenter.prepareSuccessView(eventResponseModel); } } diff --git a/src/main/java/scheduler_use_case/SchedulerRequestModel.java b/src/main/java/scheduler_use_case/SchedulerRequestModel.java index f2c8f00..1a2c586 100644 --- a/src/main/java/scheduler_use_case/SchedulerRequestModel.java +++ b/src/main/java/scheduler_use_case/SchedulerRequestModel.java @@ -13,11 +13,11 @@ public class SchedulerRequestModel { /** * Creates a request model with the given input - * @param task - the given Task - * @param allTasks - the given user's to-do list - * @param user - the given StudentUser + * @param task - the newly created task + * @param user - the student currently logged in */ - public SchedulerRequestModel(Task task, ArrayList allTasks, StudentUser user) { + public SchedulerRequestModel(Task task, StudentUser user) { + this.task = task; this.allTasks = allTasks; this.user = user; From 10321c060544933d59b489c2ac9cda94f1cb5fdc Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sat, 26 Nov 2022 17:48:03 -0500 Subject: [PATCH 02/14] initial test file for scheduling use case --- .../SchedulerInteractorTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/test/java/scheduler_use_case/SchedulerInteractorTest.java diff --git a/src/test/java/scheduler_use_case/SchedulerInteractorTest.java b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java new file mode 100644 index 0000000..f21c617 --- /dev/null +++ b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java @@ -0,0 +1,34 @@ +package scheduler_use_case; + +import entities.*; +import org.junit.jupiter.api.Test; +import schedule_conflict_use_case.ScheduleConflictPresenter; +import screens.ScheduleConflictResponseFormatter; +import screens.SchedulerResponseFormatter; + +import java.time.LocalDateTime; + +import static org.junit.jupiter.api.Assertions.*; + +class SchedulerInteractorTest { + + @Test + void schedule() { + // Initialise the classes + SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); + ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); + SchedulerInputBoundary interactor = new SchedulerInteractor(scheduleConflictPresenter, schedulerPresenter); + + // Create the test user and task + Event event = new Event("testEvent", "testid", 0, LocalDateTime.of(2022, 11, 29, 14, 0), + LocalDateTime.of(2022, 11, 29, 15, 0), false, null); + StudentUser user = new StudentUser("testUser", "testPassword"); + + // Test the interactor + SchedulerRequestModel requestModel = new SchedulerRequestModel(event, user); + interactor.schedule(requestModel); + + + } + +} \ No newline at end of file From 490a8ad32c1b581bd66caa7a16f09811304bd6e0 Mon Sep 17 00:00:00 2001 From: alyson647 Date: Sun, 27 Nov 2022 00:01:08 -0500 Subject: [PATCH 03/14] Fixed bugs, added test file, edited view, presenter and added view interface and edited main and mainscreen --- src/main/java/Main.java | 12 + .../EnterTimeAndTask.java | 65 -- .../scheduling_ct_screens/LabelTextPanel.java | 6 + .../scheduling_ct_screens/PresentOutput.java | 20 - .../ScheduleCTController.java | 22 +- .../ScheduleCTFormatter.java | 23 + .../ScheduleCTPresenter.java | 29 +- .../ScheduleCTScreen.java | 92 ++ .../scheduling_ct_screens/ScheduleCTView.java | 71 ++ .../ScheduleCTViewInterface.java | 15 + .../ScheduleCTInputBoundary.java | 10 +- .../ScheduleCTInteractor.java | 332 ++++-- .../ScheduleCTOutputBoundary.java | 12 +- .../ScheduleCTRequestModel.java | 13 +- .../ScheduleCTResponseModel.java | 20 +- src/main/java/screens/MainScreen.java | 7 + .../ScheduleCTInteractorTest.java | 1020 +++++++++++++++++ 17 files changed, 1538 insertions(+), 231 deletions(-) delete mode 100644 src/main/java/scheduling_ct_screens/EnterTimeAndTask.java delete mode 100644 src/main/java/scheduling_ct_screens/PresentOutput.java create mode 100644 src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java create mode 100644 src/main/java/scheduling_ct_screens/ScheduleCTScreen.java create mode 100644 src/main/java/scheduling_ct_screens/ScheduleCTView.java create mode 100644 src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java create mode 100644 src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 1643f90..19756a9 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,6 +4,10 @@ import event_creation_use_case.*; import login_usecase.*; import progress_tracker_use_case.*; +import scheduling_ct_screens.*; +import scheduling_ct_use_case.ScheduleCTInputBoundary; +import scheduling_ct_use_case.ScheduleCTInteractor; +import scheduling_ct_use_case.ScheduleCTOutputBoundary; import screens.*; import user_register_usecase.*; @@ -43,6 +47,11 @@ public static void main(String[] args) { ProgressTrackerInputBoundary trackerInteractor = new ProgressTrackerInteractor (trackerPresenter); ProgressTrackerController trackerController = new ProgressTrackerController(trackerInteractor, user, "", allTasks, allUsers, allCourses); + ScheduleCTViewInterface presentOutputInterface = new ScheduleCTView(cardLayout, screens); + ScheduleCTOutputBoundary scheduleCTOutputBoundary = new ScheduleCTPresenter(presentOutputInterface); + ScheduleCTInputBoundary scheduleCTInputBoundary = new ScheduleCTInteractor(scheduleCTOutputBoundary); + ScheduleCTController scheduleCTController = new ScheduleCTController(scheduleCTInputBoundary, allTasks, (StudentUser) user); + CourseCreationDsGateway course; try { course = new FileCourse("./courses.csv"); @@ -61,6 +70,9 @@ public static void main(String[] args) { CalendarScreen calendarScreen = new CalendarScreen((StudentUser) user, allTasks, screens, cardLayout); screens.add("calendar", calendarScreen); + ScheduleCTScreen scheduleCTScreen = new ScheduleCTScreen(scheduleCTController, screens, cardLayout); + screens.add("scheduleCT", scheduleCTScreen); + ProgressTrackerScreen progressTrackerScreen = new ProgressTrackerScreen(trackerController); screens.add("tracker", progressTrackerScreen); diff --git a/src/main/java/scheduling_ct_screens/EnterTimeAndTask.java b/src/main/java/scheduling_ct_screens/EnterTimeAndTask.java deleted file mode 100644 index 172c81e..0000000 --- a/src/main/java/scheduling_ct_screens/EnterTimeAndTask.java +++ /dev/null @@ -1,65 +0,0 @@ -package scheduling_ct_screens; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; - -/** - * The View for the Scheduling Collaborative Tasks Use Case - */ - -public class EnterTimeAndTask extends JFrame implements ActionListener { - - ScheduleCTController scheduleCTController; - JTextField taskTitle = new JTextField(15); - JTextField startTime = new JTextField(15); - JTextField endTime = new JTextField(15); - - - public EnterTimeAndTask(ScheduleCTController scheduleCTController) { - - this.scheduleCTController = scheduleCTController; - - - JLabel title = new JLabel("Scheduling Collaborative Tasks"); - title.setAlignmentX(Component.CENTER_ALIGNMENT); - - LabelTextPanel taskInfo = new LabelTextPanel(new JLabel("Enter task title"), taskTitle); - - LabelTextPanel startInfo = new LabelTextPanel(new JLabel("Enter start time"), startTime); - - LabelTextPanel endInfo = new LabelTextPanel(new JLabel("Enter end time"), endTime); - - - JButton submit = new JButton("Submit"); - - JPanel buttons = new JPanel(); - buttons.add(submit); - - submit.addActionListener(this); - - this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); - - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - - main.add(title); - main.add(taskInfo); - main.add(startInfo); - main.add(endInfo); - main.add(buttons); - this.setContentPane(main); - - this.pack(); - setVisible(true); - } - - // React to button click that results in evt - public void actionPerformed(ActionEvent evt) { -// System.out.println("Click" + evt.getActionCommand()); - scheduleCTController.isConflict(taskTitle.getText(), startTime.getText(), endTime.getText()); - - - } -} diff --git a/src/main/java/scheduling_ct_screens/LabelTextPanel.java b/src/main/java/scheduling_ct_screens/LabelTextPanel.java index d6dc19a..ee7f894 100644 --- a/src/main/java/scheduling_ct_screens/LabelTextPanel.java +++ b/src/main/java/scheduling_ct_screens/LabelTextPanel.java @@ -9,6 +9,12 @@ */ public class LabelTextPanel extends JPanel { + + /** + * Creates a labeled text panel + * @param label - the label + * @param textField - the text field associated with the label + */ public LabelTextPanel(JLabel label, JTextField textField) { this.add(label); this.add(textField); diff --git a/src/main/java/scheduling_ct_screens/PresentOutput.java b/src/main/java/scheduling_ct_screens/PresentOutput.java deleted file mode 100644 index 609433d..0000000 --- a/src/main/java/scheduling_ct_screens/PresentOutput.java +++ /dev/null @@ -1,20 +0,0 @@ -package scheduling_ct_screens; - -import javax.swing.*; - -public class PresentOutput extends JFrame { - - String message; - - public PresentOutput(String message) { - this.message = message; - - JLabel text = new JLabel(message); - - JPanel main = new JPanel(); - main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS)); - - main.add(text); - setVisible(true); - } -} diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTController.java b/src/main/java/scheduling_ct_screens/ScheduleCTController.java index d0f576a..0189815 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTController.java +++ b/src/main/java/scheduling_ct_screens/ScheduleCTController.java @@ -18,20 +18,26 @@ public class ScheduleCTController { private final StudentUser studentUser; + /** + * Constructor for ScheduleCTController + * @param scheduleInput - the scheduleCTInputBoundary + * @param hashMap - a hash map of all task ids mapped to the task object + * @param studentUser - the current student user logged in + */ public ScheduleCTController(ScheduleCTInputBoundary scheduleInput, HashMap hashMap, StudentUser studentUser) { this.scheduleInput = scheduleInput; this.hashMap = hashMap; this.studentUser = studentUser; } - public HashMap getTaskMap() { - return hashMap; - } - - public StudentUser getStudentUser() { - return studentUser; - } - + /** + * Bundles information given by user as well as ScheduleCTController instance variables into a + * ScheduleCTRequestModel, scheduling that input + * @param taskName - the string title/name of the task + * @param startTime - the string representation of the start date and time the user wants to schedule + * @param endTime - the string representation of the end date and time the user wants to schedule + * @return a scheduleCTResponseModel + */ public ScheduleCTResponseModel isConflict(String taskName, String startTime, String endTime) { ScheduleCTRequestModel inputData = new ScheduleCTRequestModel(taskName, startTime, endTime, studentUser); return scheduleInput.schedule(inputData, this.hashMap); diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java b/src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java new file mode 100644 index 0000000..2c0d11d --- /dev/null +++ b/src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java @@ -0,0 +1,23 @@ +package scheduling_ct_screens; + +import java.util.ArrayList; + +/** + * Model for passing information from ScheduleCTPresenter to ScheduleCTView + */ +public class ScheduleCTFormatter { + + /** + * The dates and times that will be presented to the user + */ + private final ArrayList scheduledDateTimes; + + public ScheduleCTFormatter(ArrayList scheduledDateTimes) { + this.scheduledDateTimes = scheduledDateTimes; + } + + public ArrayList getScheduledDateTimes() { + return scheduledDateTimes; + } + +} diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java b/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java index a5e0104..d4cce5e 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java +++ b/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java @@ -1,6 +1,8 @@ package scheduling_ct_screens; import scheduling_ct_use_case.*; +import java.util.ArrayList; + /** * Presenter for the Collaborative Scheduling Use Case * Implements the Output Boundary as part of the dependency inversion @@ -8,14 +10,35 @@ public class ScheduleCTPresenter implements ScheduleCTOutputBoundary { + ScheduleCTViewInterface scheduleCTViewInterface; + + public ScheduleCTPresenter(ScheduleCTViewInterface scheduleCTViewInterface) { + this.scheduleCTViewInterface = scheduleCTViewInterface; + } + + /** + * Implemented method from ScheduleCTOutputBoundary which calls on the View Interface to update the view + * @param responseModel - a scheduleCTResponseModel + * @return a scheduleCTResponseModel + */ @Override public ScheduleCTResponseModel prepareNoConflictView(ScheduleCTResponseModel responseModel) { - if ((!responseModel.getIsConflict())) { - responseModel.setDisplayString("Successful input"); - } + + ArrayList availableDates = responseModel.getScheduledTimes(); + + // making an instance of a class between presenter and view that can communicate information + ScheduleCTFormatter scheduleCTFormatter = new ScheduleCTFormatter(availableDates); + + scheduleCTViewInterface.present(scheduleCTFormatter); + return responseModel; } + /** + * Implemented method from ScheduleCTOutputBoundary that prepares the fail view + * @param error - the type of error that happened + * @return a SchedulingTimesFailed error with the specific error + */ @Override public ScheduleCTResponseModel prepareFailView(String error) { throw new SchedulingTimesFailed(error); diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTScreen.java b/src/main/java/scheduling_ct_screens/ScheduleCTScreen.java new file mode 100644 index 0000000..ba1dc01 --- /dev/null +++ b/src/main/java/scheduling_ct_screens/ScheduleCTScreen.java @@ -0,0 +1,92 @@ +package scheduling_ct_screens; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +/** + * The View for the Scheduling Collaborative Tasks Use Case + */ + +public class ScheduleCTScreen extends JPanel implements ActionListener { + + /** + * The controller + */ + ScheduleCTController scheduleCTController; + /** + * The task title + */ + JTextField taskTitle = new JTextField(15); + /** + * The end time + */ + JTextField startTime = new JTextField(15); + /** + * The start time + */ + JTextField endTime = new JTextField(15); + + /** + * Objects for connecting to the other screens + */ + CardLayout screenLayout; + JPanel screens; + + /** + * Prepares screen that the user inputs information (task title, start time, end time) into + * @param scheduleCTController - the instance of the ScheduleCTController + */ + public ScheduleCTScreen(ScheduleCTController scheduleCTController, JPanel screens, CardLayout screenLayout) { + + this.scheduleCTController = scheduleCTController; + this.screenLayout = screenLayout; + this.screens = screens; + + + JLabel title = new JLabel("Scheduling Collaborative Tasks"); + title.setAlignmentX(Component.CENTER_ALIGNMENT); + + LabelTextPanel taskInfo = new LabelTextPanel(new JLabel("Enter task title"), taskTitle); + + LabelTextPanel startInfo = new LabelTextPanel(new JLabel("Enter start time as yyyy-MM-dd HH:mm"), startTime); + + LabelTextPanel endInfo = new LabelTextPanel(new JLabel("Enter end time as yyyy-MM-dd HH:mm"), endTime); + + JButton cancel = new JButton("Cancel"); + JButton submit = new JButton("Schedule"); + + JPanel buttons = new JPanel(); + buttons.add(cancel); + buttons.add(submit); + + cancel.addActionListener(this); + submit.addActionListener(this); + + this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + this.add(title); + this.add(taskInfo); + this.add(startInfo); + this.add(endInfo); + this.add(buttons); + } + + /** + * Reacts to the "schedule" button click that results in event, passing information to the scheduleCTController, + * and the "cancel" button click, returns the user back to main + * @param evt the event to be processed + */ + public void actionPerformed(ActionEvent evt) { + if (evt.getActionCommand().equals("Cancel")) { + screenLayout.show(screens, "main"); + } else if (evt.getActionCommand().equals("Schedule")) { + try { + scheduleCTController.isConflict(taskTitle.getText(), startTime.getText(), endTime.getText()); + } catch (Exception e) { + JOptionPane.showMessageDialog(this, e.getMessage()); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTView.java b/src/main/java/scheduling_ct_screens/ScheduleCTView.java new file mode 100644 index 0000000..aeb6183 --- /dev/null +++ b/src/main/java/scheduling_ct_screens/ScheduleCTView.java @@ -0,0 +1,71 @@ +package scheduling_ct_screens; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; + +public class ScheduleCTView extends JPanel implements ScheduleCTViewInterface, ActionListener { + + /** + * Objects for connecting to the other screens + */ + CardLayout screenLayout; + JPanel screens; + + /** + * Constructor for PresentOutput + * @param screenLayout - the connecting CardLayout screen + * @param screens - the connecting JPanel screens + */ + public ScheduleCTView(CardLayout screenLayout, JPanel screens) { + this.screenLayout = screenLayout; + this.screens = screens; + } + + /** + * Method implemented from PresentOutputInterface which presents the dates the user wishes to schedule + * @param scheduleCTFormatter - a ScheduleCTFormatter which stores the dates to present + */ + @Override + public void present(ScheduleCTFormatter scheduleCTFormatter) { + ArrayList dateTimes = scheduleCTFormatter.getScheduledDateTimes(); + + JLabel title = new JLabel("Scheduled Times"); + title.setAlignmentX(Component.CENTER_ALIGNMENT); + + JPanel labels = new JPanel(); + + for (String timeBlock : dateTimes) { + JLabel time = new JLabel(timeBlock); + labels.add(time); + } + + JPanel separateNote = new JPanel(); + JLabel note = new JLabel("Remember to communicate these times to your teammates!"); + separateNote.add(note); + + + JButton returnToMain = new JButton("Return to main"); + JPanel buttons = new JPanel(); + buttons.add(returnToMain); + + returnToMain.addActionListener(this); + + this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + this.add(title); + this.add(labels); + this.add(separateNote); + this.add(buttons); + } + + public void actionPerformed(ActionEvent evt) { + try { + screenLayout.show(screens, "main"); + } catch (Exception e) { + JOptionPane.showMessageDialog(this, e.getMessage()); + } + } +} diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java b/src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java new file mode 100644 index 0000000..b223917 --- /dev/null +++ b/src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java @@ -0,0 +1,15 @@ +package scheduling_ct_screens; + + +/** + * View Interface for the Scheduling Collaborative Tasks Presenter (ScheduleCTPresenter) + * (inverts dependency for presenter to view) + */ +public interface ScheduleCTViewInterface { + + /** + * The method implemented in the view that prepares a screen showing the dates that were scheduled + * @param scheduleCTFormatter - a scheduleCTFormatter + */ + void present(ScheduleCTFormatter scheduleCTFormatter); +} diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java b/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java index 12b8365..87f8709 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java +++ b/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java @@ -1,6 +1,8 @@ package scheduling_ct_use_case; import entities.Task; +import scheduler_use_case.SchedulerInteractor; + import java.util.HashMap; /** @@ -10,5 +12,11 @@ public interface ScheduleCTInputBoundary { + /** + * The method implemented in ScheduleCTInteractor that schedules the task given the inputs + * @param scheduleCTRequestModel - the scheduleCTRequestModel (i.e. information given from the user) + * @param hashMap - hash map of task ids mapped to Task objects + * @return a scheduleCTResponseModel + */ ScheduleCTResponseModel schedule(ScheduleCTRequestModel scheduleCTRequestModel, HashMap hashMap); -} +} \ No newline at end of file diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java b/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java index b959a12..811d682 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java +++ b/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java @@ -1,12 +1,14 @@ package scheduling_ct_use_case; import entities.*; +import scheduler_use_case.*; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; +import java.util.Objects; /** * Scheduling Collaborative Tasks Use Case Interactor (use case layer) @@ -25,15 +27,12 @@ public ScheduleCTInteractor(ScheduleCTOutputBoundary scheduleCTOutputBoundary) { */ @Override public ScheduleCTResponseModel schedule(ScheduleCTRequestModel requestModel, HashMap hashMap) { - // returns that this has conflict - // otherwise will automatically schedule and return a success view - CollaborativeTask task = getTaskObjectFromName(requestModel.getTaskName(), hashMap); if (requestModel.getStudentUser() != task.getLeader()) { return scheduleCTOutputBoundary.prepareFailView("User is not the leader. " + - "You don't have scheduling access"); + "You do not have scheduling access"); } ArrayList users = task.getTeammates(); @@ -45,28 +44,38 @@ public ScheduleCTResponseModel schedule(ScheduleCTRequestModel requestModel, Has LocalDateTime endTime = convertStringToLocalDateTime(requestModel.getEndTime()); for (StudentUser user : users) { - ArrayList userTasks = getTaskFromId(user, hashMap); + ArrayList userTasks = getAllTaskFromIdExceptOne(task, user, hashMap); + // isUserAvailableAtDateTime returns false if not available + // if isUserAvailableAtDateTime is false, add it to the list of unavailable users if (!isUserAvailableAtDateTime(user, userTasks, startTime, endTime)) { unavailableUsers.add(user); } } - if (!unavailableUsers.isEmpty()) { - if (task.getFrequency().equals("")) { - ArrayList> oneDate = new ArrayList<>(); - ArrayList theDate = new ArrayList<>(); - theDate.add(startTime); - theDate.add(endTime); - oneDate.add(theDate); - task.setTimeBlocks(oneDate); - } else { - ArrayList> dates = getDates(task.getFrequency(), startTime, endTime, task.getDeadline()); - task.setTimeBlocks(dates); + // if unavailableUser is empty, that means that the users are free and there's no conflict + if (unavailableUsers.isEmpty()) { + // if task is recurring and the frequency is not an empty string + ArrayList> dates = getDates(task.getFrequency(), startTime, endTime, task.getDeadline()); + + // initialize ArrayList for all the formatted strings + ArrayList formattedDateTimes = new ArrayList<>(); + + for (ArrayList possibleTimeBlock : dates) { + LocalDateTime possibleTimeStart = possibleTimeBlock.get(0); + LocalDateTime possibleTimeEnd = possibleTimeBlock.get(1); + String formattedTimeBlock = convertLocalDateTimeToString(possibleTimeStart, possibleTimeEnd); + formattedDateTimes.add(formattedTimeBlock); } - ScheduleCTResponseModel scheduleCTResponseModel = new ScheduleCTResponseModel(false); + + ScheduleCTResponseModel scheduleCTResponseModel = new ScheduleCTResponseModel(false, formattedDateTimes); + scheduleCTResponseModel.setTimesToSchedule(dates); + task.setTimeBlocks(dates); + return scheduleCTOutputBoundary.prepareNoConflictView(scheduleCTResponseModel); + // branches into else when there is a conflict } else { - ScheduleCTResponseModel scheduleCTResponseModel = new ScheduleCTResponseModel(true); - return scheduleCTOutputBoundary.prepareFailView("Cannot schedule due to conflict"); + // ScheduleCTResponseModel scheduleCTResponseModel = new ScheduleCTResponseModel(true); + return scheduleCTOutputBoundary.prepareFailView("Cannot schedule due to conflict. " + + "Try another time if you'd like to. :')"); } } @@ -88,40 +97,36 @@ public ArrayList> getDates(String frequency, LocalDateT LocalDateTime currStart = startTime; LocalDateTime currEnd = endTime; - switch (frequency) { - case "daily": - do { - ArrayList date = new ArrayList<>(); - currStart = currStart.plusDays(1); - currEnd = currEnd.plusDays(1); - - date.add(currStart); - date.add(currEnd); - times.add(date); - } while (endTime.isBefore(deadline)); - break; - case "weekly": - do { - ArrayList date = new ArrayList<>(); - currStart = currStart.plusWeeks(1); - currEnd = currEnd.plusWeeks(1); - - date.add(currStart); - date.add(currEnd); - times.add(date); - } while (endTime.isBefore(deadline)); - break; - case "monthly": - do { - ArrayList date = new ArrayList<>(); - currStart = currStart.plusMonths(1); - currEnd = currEnd.plusMonths(1); - - date.add(currStart); - date.add(currEnd); - times.add(date); - } while (endTime.isBefore(deadline)); - break; + if (frequency.equals("daily")) { + while (currEnd.plusDays(1).isBefore(deadline)) { + ArrayList date = new ArrayList<>(); + currStart = currStart.plusDays(1); + currEnd = currEnd.plusDays(1); + + date.add(currStart); + date.add(currEnd); + times.add(date); + } + } else if (frequency.equals("weekly")) { + while (currEnd.plusWeeks(1).isBefore(deadline)) { + ArrayList date = new ArrayList<>(); + currStart = currStart.plusWeeks(1); + currEnd = currEnd.plusWeeks(1); + + date.add(currStart); + date.add(currEnd); + times.add(date); + } + } else if (frequency.equals("monthly")) { + while (currEnd.plusMonths(1).isBefore(deadline)) { + ArrayList date = new ArrayList<>(); + currStart = currStart.plusMonths(1); + currEnd = currEnd.plusMonths(1); + + date.add(currStart); + date.add(currEnd); + times.add(date); + } } return times; } @@ -132,53 +137,31 @@ public ArrayList> getDates(String frequency, LocalDateT * @param tasks - an array list of a user's tasks * @param start - the start time of the time block * @param end -the end time of the time block - * @return whether or not the user is available at this date time + * @return true if user is available, return false is user is not available */ public boolean isUserAvailableAtDateTime(StudentUser user, ArrayList tasks, LocalDateTime start, LocalDateTime end) { // assume there's a method in TaskUseCase that gets all the tasks a student has - boolean is_task_free = true; + ArrayList isAvailable = new ArrayList<>(); + boolean is_working_hours_free = true; for (Task task : tasks) { - if (task instanceof Event) { if (((Event) task).getTimeBlock() != null) { - LocalDateTime[] timeBlock = ((Event) task).getTimeBlock(); - LocalDateTime timeBlockStart = timeBlock[0]; - LocalDateTime timeBlockEnd = timeBlock[1]; - is_task_free = is_task_free && givenTime(timeBlockStart, timeBlockEnd, start, end); + isAvailable.add(eventFree((Event) task, start, end)); } } else if (task instanceof Test) { if (((Test) task).getTimeBlock() != null) { - - LocalDateTime[] timeBlock = ((Test) task).getTimeBlock(); - LocalDateTime timeBlockStart = timeBlock[0]; - LocalDateTime timeBlockEnd = timeBlock[1]; - - is_task_free = is_task_free && givenTime(timeBlockStart, timeBlockEnd, start, end); - - if (((Test) task).getPrepTimeScheduled() != null) { - ArrayList> scheduledPrep = ((Test) task).getPrepTimeScheduled(); - for (ArrayList prep : scheduledPrep) { - LocalDateTime prepStart = prep.get(0); - LocalDateTime prepEnd = prep.get(1); - - is_task_free = is_task_free && givenTime(prepStart, prepEnd, start, end); - } - - } + isAvailable.add(testFree((Test) task, start, end)); } } else if (task instanceof Assignment) { - if (((Assignment) task).getPrepTimeScheduled() != null) { - ArrayList> scheduledPrep = ((Assignment) task).getPrepTimeScheduled(); - for (ArrayList prep : scheduledPrep) { - LocalDateTime prepStart = prep.get(0); - LocalDateTime prepEnd = prep.get(1); - - is_task_free = is_task_free && givenTime(prepStart, prepEnd, start, end); - } + isAvailable.add(assignmentFree((Assignment) task, start, end)); + } + } else if (task instanceof CollaborativeTask) { + if (((CollaborativeTask) task).getTimeBlocks() != null) { + isAvailable.add(collaborativeTaskFree((CollaborativeTask) task, start, end)); } } @@ -187,55 +170,155 @@ public boolean isUserAvailableAtDateTime(StudentUser user, ArrayList tasks ArrayList workingHours = user.getWorkingHours(); LocalTime workingHoursStart = workingHours.get(0); LocalTime workingHoursEnd = workingHours.get(1); - is_working_hours_free = workingHoursFree(start, end, workingHoursStart, workingHoursEnd); + if (!workingHoursFree(start, end, workingHoursStart, workingHoursEnd)) { + is_working_hours_free = false; + } } + // is_task_free is true if the array list contains false; that means there is a conflict + boolean is_task_free = !(isAvailable.contains(false)); return is_task_free && is_working_hours_free; } + /** + * Given a task that is an instance of Event, return whether any of the time blocks associated with that task + * does not conflict with the given time block + * @param event - the Event that you want to see if conflicts occur + * @param start - the start date and time of the time block + * @param end - the end date and time of the time block + * @return - true if there are no conflicts, false if there are conflicts + */ + public boolean eventFree(Event event, LocalDateTime start, LocalDateTime end) { + + LocalDateTime[] timeBlock = event.getTimeBlock(); + LocalDateTime timeBlockStart = timeBlock[0]; + LocalDateTime timeBlockEnd = timeBlock[1]; + return givenTime(timeBlockStart, timeBlockEnd, start, end); + } + + /** + * Given a task that is an instance of Test, return whether any of the time blocks associated with that task + * does not conflict with the given time block + * @param test - the Test that you want to see if conflicts occur + * @param start - the start date and time of the time block + * @param end - the end date and time of the time block + * @return - true if there are no conflicts, false if there are conflicts + */ + public boolean testFree(Test test, LocalDateTime start, LocalDateTime end) { + LocalDateTime[] timeBlock = test.getTimeBlock(); + LocalDateTime timeBlockStart = timeBlock[0]; + LocalDateTime timeBlockEnd = timeBlock[1]; + + boolean is_test_free = givenTime(timeBlockStart, timeBlockEnd, start, end); + + ArrayList> prepTime = test.getPrepTimeScheduled(); + + if (prepTime != null){ + for (ArrayList prep : prepTime) { + LocalDateTime prepStart = prep.get(0); + LocalDateTime prepEnd = prep.get(1); + + // if there is a conflict + if (!givenTime(prepStart, prepEnd, start, end)) { + is_test_free = false; + } + } + } + return is_test_free; + } + + /** + * Given a task that is an instance of Assignment, return whether any of the time blocks associated with that task + * does not conflict with the given time block + * @param assignment - the Assignment that you want to see if conflicts occur + * @param start - the start date and time of the time block + * @param end - the end date and time of the time block + * @return true if there are no conflicts, false if there are conflicts + */ + public boolean assignmentFree(Assignment assignment, LocalDateTime start, LocalDateTime end) { + + boolean is_assignment_free = true; + ArrayList> prepTime = assignment.getPrepTimeScheduled(); + + if (prepTime != null) { + for (ArrayList prep : prepTime) { + LocalDateTime prepStart = prep.get(0); + LocalDateTime prepEnd = prep.get(1); + if (!givenTime(prepStart, prepEnd, start, end)) { + is_assignment_free = false; + } + } + } + return is_assignment_free; + } + + /** + * Given a task that is an instance of CollaborativeTask, return whether any of the time blocks associated with that + * task does not conflict with the given time block + * @param collaborativeTask - the CollaborativeTask that you want to see if conflicts occur + * @param start - the start date and time of the time block + * @param end - the end date and time of the time block + * @return true if there are no conflicts, false if there are conflicts + */ + public boolean collaborativeTaskFree(CollaborativeTask collaborativeTask, LocalDateTime start, LocalDateTime end) { + boolean is_collaborative_task_free = true; + + ArrayList> meetingTimes = collaborativeTask.getTimeBlocks(); + if (meetingTimes != null) { + for (ArrayList timeBlock : meetingTimes) { + LocalDateTime timeStart = timeBlock.get(0); + LocalDateTime timeEnd = timeBlock.get(1); + if (!givenTime(timeStart, timeEnd, start, end)) { + is_collaborative_task_free = false; + } + } + } + return is_collaborative_task_free; + } + /** * Check if a time block conflicts with a user's working hours * @param timeBlockStart - the start of the time block * @param timeBlockEnd - the end of the time block * @param workingHoursStart - the start of a user's working hours * @param workingHoursEnd - the end of a user's working hours - * @return whether or not a time block conflicts with a user's working hours + * @return true if there are no conflict, false if there are conflicts */ public boolean workingHoursFree(LocalDateTime timeBlockStart, LocalDateTime timeBlockEnd, LocalTime workingHoursStart, LocalTime workingHoursEnd) { // if timeBlock is within working hours - // timeBlockStart.isAfter(ChronoLocalDateTime.from(workingHoursStart)) && - // timeBlockEnd.isBefore(ChronoLocalDateTime.from(workingHoursEnd)) if (timeBlockStart.getHour() > workingHoursStart.getHour() && timeBlockEnd.getHour() < workingHoursEnd.getHour()) { return false; - // if timeBlock covers the whole period of working hours - // timeBlockStart.isBefore(ChronoLocalDateTime.from(workingHoursStart)) && - // timeBlockEnd.isAfter(ChronoLocalDateTime.from(workingHoursEnd)) + // if timeBlock covers whole working hours } else if (timeBlockStart.getHour() < workingHoursStart.getHour() && timeBlockEnd.getHour() > workingHoursEnd.getHour()) { return false; - // if timeBlockStart is before workingHoursStart and timeBlockEnd is before workingHoursEnd - } else if (timeBlockStart.getHour()< workingHoursStart.getHour() && + // if timeBlockStart is before workingHoursStart, timeBlockEnd is after workingHoursStart, + // and timeBlockEnd is before workingHoursEnd + } else if (timeBlockStart.getHour() < workingHoursStart.getHour() && + timeBlockEnd.getHour() > workingHoursStart.getHour() && timeBlockEnd.getHour() < workingHoursEnd.getHour()) { return false; - // if timeBlockStart is the same as workingHoursStart - } else if (timeBlockStart.getHour() == workingHoursStart.getHour()) { + // if timeBlockStart is after workingHoursStart, timeBlockStart is before workingHoursEnd, + // and timeBlockEnd is after workingHoursEnd + } else if (timeBlockStart.getHour() > workingHoursStart.getHour() && + timeBlockStart.getHour() < workingHoursEnd.getHour() && + timeBlockEnd.getHour() > workingHoursEnd.getHour()) { return false; - // if timeBlockEnd is the same as workingHoursEnd + // if timeBlockEnd is equal to workingHoursEnd } else if (timeBlockEnd.getHour() == workingHoursEnd.getHour()) { return false; - // if timeBlockStart is after workingHoursStart and timeBlockEnd is after workingHoursEnd - } else return !(timeBlockStart.getHour() > workingHoursStart.getHour() && - timeBlockEnd.getHour() > workingHoursEnd.getHour()); + // if timeBlockStart is equal to workingHoursStart + } else return timeBlockStart.getHour() != workingHoursStart.getHour(); } /** - * Check if two time blocks conflict - * @param timeBlockStart - the start of the time block - * @param timeBlockEnd - the end of the time block - * @param start - the start of another time block - * @param end - the end of another time block - * @return whether or not two time blocks conflict + * Given two time blocks, return if they do not conflict + * @param timeBlockStart - the start of the time block in a user's tasks + * @param timeBlockEnd - the end of the time block in a user's tasks + * @param start - the start of the time the user inputs + * @param end - the end of the time the user inputs + * @return true if there is no conflict, false is there is a conflict */ public boolean givenTime(LocalDateTime timeBlockStart, LocalDateTime timeBlockEnd, LocalDateTime start, LocalDateTime end) { @@ -245,8 +328,9 @@ public boolean givenTime(LocalDateTime timeBlockStart, LocalDateTime timeBlockEn // in the case where it covers the time period } else if (timeBlockStart.isBefore(start) && timeBlockEnd.isAfter(end)) { return false; - // in the case where timeBlockStart is before start and timeBlockEnd is before end - } else if (timeBlockStart.isBefore(start) && timeBlockEnd.isBefore(end)) { + // in the case where timeBlockStart is before start, timeBlockEnd is after start, + // and timeBlockEnd is before end + } else if (timeBlockStart.isBefore(start) && timeBlockEnd.isAfter(start) && timeBlockEnd.isBefore(end)) { return false; // if the start time same as start time of block, return false } else if (timeBlockStart.isEqual(start)) { @@ -254,17 +338,19 @@ public boolean givenTime(LocalDateTime timeBlockStart, LocalDateTime timeBlockEn // if the end time same as end time of block, return false } else if (timeBlockEnd.isEqual(end)) { return false; - // in the case where timeBlockStart is after start time and timeBlockEnd is after end time - } else return !(timeBlockStart.isAfter(start) && timeBlockEnd.isAfter(end)); + // in the case where timeBlockStart is after start time, timeBlockStart is before end time + // and timeBlockEnd is after end time + } else return !(timeBlockStart.isAfter(start) && timeBlockStart.isBefore(end) && timeBlockEnd.isAfter(end)); } /** - * Retrieve the tasks associated with a user from the given hash map + * Retrieve the tasks associated with a user from the given hash map, other than the task that you want scheduled + * (remove that task or else when checking for conflicts, it might conflict with that task, don't want that) * @param user - the student user * @param hashMap - a hash map of all task ids to tasks * @return an array list of tasks */ - public ArrayList getTaskFromId(StudentUser user, HashMap hashMap) { + public ArrayList getAllTaskFromIdExceptOne(Task task, StudentUser user, HashMap hashMap) { ArrayList userTasks = new ArrayList<>(); ArrayList toDoList = user.getToDoList(); @@ -273,6 +359,7 @@ public ArrayList getTaskFromId(StudentUser user, HashMap has Task task_value = hashMap.get(taskId); userTasks.add(task_value); } + userTasks.remove(task); return userTasks; } @@ -280,7 +367,7 @@ public ArrayList getTaskFromId(StudentUser user, HashMap has * Get the task object from the task map given the name of the task * @param taskName - the name of the task * @param hashMap - hashmap of task ids to tasks - * @return the task object that corresponds to the task name + * @return the task object that corresponds to the task name, if it exists */ public CollaborativeTask getTaskObjectFromName(String taskName, HashMap hashMap) { for (Task task : hashMap.values()) { @@ -297,8 +384,21 @@ public CollaborativeTask getTaskObjectFromName(String taskName, HashMap scheduledTimes; + ArrayList> timesToSchedule; - public ScheduleCTResponseModel(boolean isConflict) { + public ScheduleCTResponseModel(boolean isConflict, ArrayList scheduledTimes) { this.isConflict = isConflict; + this.scheduledTimes = scheduledTimes; } - public boolean getIsConflict() { - return isConflict; + public ArrayList getScheduledTimes() { + return scheduledTimes; } - public String getDisplayString() { - return displayString; - } - public void setDisplayString(String displayString) { - this.displayString = displayString; + public void setTimesToSchedule(ArrayList> timesToSchedule) { + this.timesToSchedule = timesToSchedule; } } diff --git a/src/main/java/screens/MainScreen.java b/src/main/java/screens/MainScreen.java index b597919..3ef9199 100644 --- a/src/main/java/screens/MainScreen.java +++ b/src/main/java/screens/MainScreen.java @@ -14,6 +14,7 @@ public class MainScreen extends JPanel implements ActionListener { JButton calendar; JButton progressTracker; JButton courses; + JButton scheduleCT; /** * Objects for connecting to the other screens @@ -38,11 +39,13 @@ public MainScreen(JPanel screens, CardLayout cardLayout) { calendar = new JButton("Calendar"); progressTracker = new JButton("Progress Tracker"); courses = new JButton("Courses"); + scheduleCT = new JButton("Schedule Collaborative Task"); toDoList.addActionListener(this); calendar.addActionListener(this); progressTracker.addActionListener(this); courses.addActionListener(this); + scheduleCT.addActionListener(this); // Create panel for buttons JPanel buttons = new JPanel(); @@ -50,6 +53,7 @@ public MainScreen(JPanel screens, CardLayout cardLayout) { buttons.add(calendar); buttons.add(progressTracker); buttons.add(courses); + buttons.add(scheduleCT); // Add all components to the panel this.add(title); @@ -73,6 +77,9 @@ public void actionPerformed(ActionEvent evt) { if (evt.getSource() == courses) { cardLayout.show(screens, "course"); } + if (evt.getSource() == scheduleCT) { + cardLayout.show(screens, "scheduleCT"); + } } diff --git a/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java b/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java new file mode 100644 index 0000000..d522548 --- /dev/null +++ b/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java @@ -0,0 +1,1020 @@ +package test_scheduling_ct_use_case; + +import entities.*; +import entities.Event; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import scheduling_ct_screens.ScheduleCTPresenter; +import scheduling_ct_screens.ScheduleCTView; +import scheduling_ct_screens.ScheduleCTViewInterface; +import scheduling_ct_use_case.*; + +import javax.swing.*; +import java.awt.*; +import java.lang.reflect.Array; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.HashMap; + +class ScheduleCTInteractorTest { + CardLayout cardLayout = new CardLayout(); + JPanel screens = new JPanel(); + ScheduleCTViewInterface view = new ScheduleCTView(cardLayout, screens); + ScheduleCTOutputBoundary presenter = new ScheduleCTPresenter(view); + ScheduleCTInteractor interactor = new ScheduleCTInteractor(presenter); + + // ******* IMPORTANT NOTE ******** // + // THE TESTS THAT INCLUDE THE CREATION OF A TASK ONLY WORK WHEN YOU COMMENT OUT THE save() IN THE TASK + // CLASS CONSTRUCTORS + // THIS IS BECAUSE I'M NOT TRYING TO SAVE THIS INTO A TASK MAP AND THERE'S NO TASK MAP TO SAVE IT TO + + @Test + public void convertLocalDateTimeToStringTest() { + + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 6, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); + + String expected = "2022-11-26 06:00 to 2022-11-26 07:00"; + String actual = interactor.convertLocalDateTimeToString(start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void convertStringToLocalDateTimeTest() { + + String stringDateTime = "2022-11-26 06:00"; + + LocalDateTime expected = LocalDateTime.of(2022, 11, 26, 6, 0); + LocalDateTime actual = interactor.convertStringToLocalDateTime(stringDateTime); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void getTaskObjectFromNameTest() { + // test for when the task exists in the hash map given + + String taskName = "CSC207 lecture"; + HashMap hashMap = new HashMap(); + + StudentUser user = new StudentUser("Alyson", "penguinsAndDucks"); + + CollaborativeTask collaborativeTask1 = new CollaborativeTask("CSC207 lecture", "207User", + 1, false, "", LocalDateTime.of(2022, 11, 26, 2, 0), + LocalDateTime.of(2022, 11, 26, 3, 0), + LocalDateTime.of(2022, 11, 26, 8, 0), + user); + Event event2 = new Event("Hackathon", "HackathonUser", 1, + LocalDateTime.of(2022, 11, 27, 2, 0), + LocalDateTime.of(2022, 11, 27, 3, 0), + false, ""); + + hashMap.put("207User", collaborativeTask1); + hashMap.put("HackathonUser", event2); + + Task actual = interactor.getTaskObjectFromName(taskName, hashMap); + + Assertions.assertEquals(collaborativeTask1, actual); + } + + @Test + public void getAllTaskFromIdExceptOneTest() { + // test getAllTaskFromIdExceptOne + + HashMap hashMap = new HashMap(); + + StudentUser user = new StudentUser("Alyson", "penguinsAndDucks"); + ArrayList toDoList = new ArrayList<>(); + toDoList.add("207User"); + toDoList.add("HackathonUser"); + toDoList.add("LunchUser"); + + user.setToDoList(toDoList); + + CollaborativeTask collaborativeTask1 = new CollaborativeTask("CSC207 lecture", "207User", + 1, false, "", LocalDateTime.of(2022, 11, 26, 2, 0), + LocalDateTime.of(2022, 11, 26, 3, 0), + LocalDateTime.of(2022, 11, 26, 8, 0), + user); + Event event1 = new Event("Hackathon", "HackathonUser", 1, + LocalDateTime.of(2022, 11, 27, 2, 0), + LocalDateTime.of(2022, 11, 27, 3, 0), + false, ""); + Event event2 = new Event("Eat lunch", "LunchUser", 1, + LocalDateTime.of(2022, 11, 28, 12, 0), + LocalDateTime.of(2022, 11, 28, 13, 0), + false, ""); + + hashMap.put("207User", collaborativeTask1); + hashMap.put("LunchUser", event2); + hashMap.put("HackathonUser", event1); + + ArrayList expected = new ArrayList<>(); + expected.add(event1); + expected.add(event2); + + ArrayList actual = interactor.getAllTaskFromIdExceptOne(collaborativeTask1, user, hashMap); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeNoConflictTest() { + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 1, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 3, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 25, 6, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 25, 7, 0); + + boolean expected = true; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseOneTest() { + // Testing the first case where the time block is within start and end + // output should be false since conflicting + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 4, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 5, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 6, 0); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseTwoTest() { + // Testing the second case where the time block covers start and end + // output should be false since conflicting + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 8, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 6, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseThreeTest() { + // Testing the third case where the starts before START, and the end of the time block is between START and END + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 5, 30); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseFourTest() { + // Testing the fourth case where the time block starts at the same time as START + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseFiveTest() { + // Testing the fifth case where the time block ends at the same time as END + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 6, 0); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void givenTimeCaseSixTest() { + // Testing the sixth case where the time block starts within START and END, and ends after END + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 9, 0); + + // creating time block of existing task + LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); + LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); + + boolean expected = false; + boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursFreeNoConflictTest() { + // Testing that workingHoursFree should return true when no conflict between time blocks + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 6, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 7, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(2, 0); + LocalTime workingHoursEnd = LocalTime.of(3, 0); + + boolean expected = true; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursCaseOneTest() { + // Testing first case where the time block is within working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(2, 0); + LocalTime workingHoursEnd = LocalTime.of(5, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursCaseTwoTest() { + // Testing second case where the time block covers all working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 2, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 5, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(3, 0); + LocalTime workingHoursEnd = LocalTime.of(4, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + + } + + @Test + public void workingHoursCaseThreeTest() { + // Testing third case where the time block starts before working hours, and ends between working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 1, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(2, 0); + LocalTime workingHoursEnd = LocalTime.of(5, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursCaseFourTest() { + // Testing fourth case where the time block starts between working hours, and ends after working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 8, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(2, 0); + LocalTime workingHoursEnd = LocalTime.of(5, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursCaseFiveTest() { + // Testing fifth case where the end of the time block is equal to the end of working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(2, 0); + LocalTime workingHoursEnd = LocalTime.of(4, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void workingHoursCaseSixTest() { + // Testing sixth case where the start of the time block is equal to the start of working hours + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); + + // creating time of working hours + LocalTime workingHoursStart = LocalTime.of(3, 0); + LocalTime workingHoursEnd = LocalTime.of(5, 0); + + boolean expected = false; + boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void collaborativeTaskFreeNoConflictTest() { + // Testing collaborativeTaskFree where given a collaborative task and a start and end date and time + // Should return true since there is no conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); + + // creating student user + StudentUser user = new StudentUser("alyson", "catsAndDog"); + + // creating a collaborative task + CollaborativeTask collaborativeTask = new CollaborativeTask("Eating", "EatingUser", 1, + true, "daily", + LocalDateTime.of(2022, 11, 26, 7, 0), + LocalDateTime.of(2022, 11, 26, 8, 0), + LocalDateTime.of(2022, 11, 28, 9, 0), + user); + // adding scheduled times to collaborative task + ArrayList> scheduledDates = new ArrayList<>(); + + ArrayList date1 = new ArrayList<>(); + date1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + date1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList date2 = new ArrayList<>(); + date2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + date2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + ArrayList date3 = new ArrayList<>(); + date3.add(LocalDateTime.of(2022, 11, 28, 7, 0)); + date3.add(LocalDateTime.of(2022, 11, 29, 8, 0)); + + scheduledDates.add(date1); + scheduledDates.add(date2); + scheduledDates.add(date3); + + collaborativeTask.setTimeBlocks(scheduledDates); + + boolean expected = true; + boolean actual = interactor.collaborativeTaskFree(collaborativeTask, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void collaborativeTaskFreeConflictTest() { + // Testing collaborativeTaskFree where given a collaborative task and a start and end date and time + // Should return false since there is a conflict + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 7, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 8, 0); + + // creating student user + StudentUser user = new StudentUser("alyson", "catsAndDog"); + + // creating a collaborative task + CollaborativeTask collaborativeTask = new CollaborativeTask("Eating", "EatingUser", 1, + true, "daily", + LocalDateTime.of(2022, 11, 26, 7, 0), + LocalDateTime.of(2022, 11, 26, 8, 0), + LocalDateTime.of(2022, 11, 28, 9, 0), + user); + // adding scheduled times to collaborative task + ArrayList> scheduledDates = new ArrayList<>(); + + ArrayList date1 = new ArrayList<>(); + date1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + date1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList date2 = new ArrayList<>(); + date2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + date2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + ArrayList date3 = new ArrayList<>(); + date3.add(LocalDateTime.of(2022, 11, 28, 7, 0)); + date3.add(LocalDateTime.of(2022, 11, 29, 8, 0)); + + scheduledDates.add(date1); + scheduledDates.add(date2); + scheduledDates.add(date3); + + collaborativeTask.setTimeBlocks(scheduledDates); + + boolean expected = false; + boolean actual = interactor.collaborativeTaskFree(collaborativeTask, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void assignmentFreeNoConflictTest() { + // Testing assignmentFree given an assignment and a start and end time + // Should return true since there is no conflict between the assignment and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 5, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 6, 0); + + // creating assignment + Assignment assignment = new Assignment("Assignment", "AssignmentUser", + LocalDateTime.of(2022, 11, 27, 22, 0), 5); + + // adding scheduled times to assignment + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + assignment.setPrepTimeScheduled(prepTime); + + boolean expected = true; + boolean actual = interactor.assignmentFree(assignment, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void assignmentFreeConflictTest() { + // Testing assignmentFree given an assignment and a start and end time + // Should return false since there is a conflict between the assignment and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 7, 30); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 8, 0); + + // creating assignment + Assignment assignment = new Assignment("Assignment", "AssignmentUser", + LocalDateTime.of(2022, 11, 27, 22, 0), 5); + + // adding scheduled times to assignment + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + assignment.setPrepTimeScheduled(prepTime); + + boolean expected = false; + boolean actual = interactor.assignmentFree(assignment, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void testFreeNoConflictTest() { + // Testing testFree given a test and a start and end time + // Should return true since there is no conflict between the test and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 4, 30); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 5, 0); + + // creating test + entities.Test test = new entities.Test("Test", "TestUser", + LocalDateTime.of(2022, 11, 27, 14, 0), + LocalDateTime.of(2022, 11, 27, 16, 0), 15); + + // adding scheduled times to test + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + test.setPrepTimeScheduled(prepTime); + + boolean expected = true; + boolean actual = interactor.testFree(test, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void testFreeConflictTest() { + // Testing testFree given a test and a start and end date and time + // Should return false since there is a conflict between the test and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 15, 30); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 16, 0); + + // creating test + entities.Test test = new entities.Test("Test", "TestUser", + LocalDateTime.of(2022, 11, 27, 14, 0), + LocalDateTime.of(2022, 11, 27, 16, 0), 15); + + // adding scheduled times to test + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); + prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + test.setPrepTimeScheduled(prepTime); + + boolean expected = false; + boolean actual = interactor.testFree(test, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void eventFreeNoConflictTest() { + // Testing eventFree given an event and a start and end date and time + // Should return true since there is no conflict between the event and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 4, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 5, 0); + + // creating event + Event event = new Event("Event", "EventUser", 1, + LocalDateTime.of(2022, 11, 28, 13, 0), + LocalDateTime.of(2022, 11, 28, 15, 0), + false, ""); + + boolean expected = true; + boolean actual = interactor.eventFree(event, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void eventFreeConflictTest() { + // Testing eventFree given an event and a start and end date and time + // Should return false since there is a conflict between the event and the time block given + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 14, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 15, 0); + + // creating event + Event event = new Event("Event", "EventUser", 1, + LocalDateTime.of(2022, 11, 28, 13, 0), + LocalDateTime.of(2022, 11, 28, 15, 0), + false, ""); + + boolean expected = false; + boolean actual = interactor.eventFree(event, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void isUserAvailableAtDateTimeNoConflictTest() { + // Testing isUserAvailableAtDateTime + // Should return true since there is no conflict + + ArrayList tasks = new ArrayList<>(); + // creating event + Event event = new Event("Event", "EventUser", 1, + LocalDateTime.of(2022, 11, 27, 4, 0), + LocalDateTime.of(2022, 11, 27, 5, 0), + false, ""); + + // creating test + entities.Test test = new entities.Test("Test", "TestUser", + LocalDateTime.of(2022, 11, 27, 5, 0), + LocalDateTime.of(2022, 11, 27, 6, 0), 15); + + // adding scheduled times to test + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + test.setPrepTimeScheduled(prepTime); + + // creating assignment + Assignment assignment = new Assignment("Assignment", "AssignmentUser", + LocalDateTime.of(2022, 12, 5, 22, 0), 5); + + // adding scheduled times to assignment + ArrayList> assignmentPrepTime = new ArrayList<>(); + + ArrayList assignmentPrep1 = new ArrayList<>(); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); + + ArrayList assignmentPrep2 = new ArrayList<>(); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); + + assignmentPrepTime.add(assignmentPrep1); + assignmentPrepTime.add(assignmentPrep2); + + assignment.setPrepTimeScheduled(assignmentPrepTime); + + tasks.add(event); + tasks.add(test); + tasks.add(assignment); + + // creating time of working hours + ArrayList workingHours = new ArrayList<>(); + LocalTime workingHoursStart = LocalTime.of(1, 0); + LocalTime workingHoursEnd = LocalTime.of(2, 0); + workingHours.add(workingHoursStart); + workingHours.add(workingHoursEnd); + + // creating time block of collaborative task user wants to schedule + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 29, 4, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 29, 5, 0); + + // creating student user + StudentUser user = new StudentUser("alyson", "veryTiredStudent"); + user.setWorkingHours(workingHours); + + boolean expected = true; + boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void isUserAvailableAtDateTimeConflictWithWorkingHoursTest() { + // Testing isUserAvailableAtDateTime + // Should return false since there is a conflict + + ArrayList tasks = new ArrayList<>(); + // creating event + Event event = new Event("Event", "EventUser", 1, + LocalDateTime.of(2022, 11, 27, 4, 0), + LocalDateTime.of(2022, 11, 27, 5, 0), + false, ""); + + // creating test + entities.Test test = new entities.Test("Test", "TestUser", + LocalDateTime.of(2022, 11, 27, 5, 0), + LocalDateTime.of(2022, 11, 27, 6, 0), 15); + + // adding scheduled times to test + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + test.setPrepTimeScheduled(prepTime); + + // creating assignment + Assignment assignment = new Assignment("Assignment", "AssignmentUser", + LocalDateTime.of(2022, 12, 5, 22, 0), 5); + + // adding scheduled times to assignment + ArrayList> assignmentPrepTime = new ArrayList<>(); + + ArrayList assignmentPrep1 = new ArrayList<>(); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); + + ArrayList assignmentPrep2 = new ArrayList<>(); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); + + assignmentPrepTime.add(assignmentPrep1); + assignmentPrepTime.add(assignmentPrep2); + + assignment.setPrepTimeScheduled(assignmentPrepTime); + + tasks.add(event); + tasks.add(test); + tasks.add(assignment); + + // creating time of working hours + ArrayList workingHours = new ArrayList<>(); + LocalTime workingHoursStart = LocalTime.of(1, 0); + LocalTime workingHoursEnd = LocalTime.of(2, 0); + workingHours.add(workingHoursStart); + workingHours.add(workingHoursEnd); + + // creating time block of collaborative task user wants to schedule + // conflicts with workingHours + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 29, 1, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 29, 3, 0); + + // creating student user + StudentUser user = new StudentUser("alyson", "veryTiredStudent"); + user.setWorkingHours(workingHours); + + boolean expected = false; + boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void isUserAvailableAtDateTimeConflictWithTaskTest() { + // Testing isUserAvailableAtDateTime + // Should return false since there is a conflict + + ArrayList tasks = new ArrayList<>(); + // creating event + Event event = new Event("Event", "EventUser", 1, + LocalDateTime.of(2022, 11, 27, 4, 0), + LocalDateTime.of(2022, 11, 27, 5, 0), + false, ""); + + // creating test + entities.Test test = new entities.Test("Test", "TestUser", + LocalDateTime.of(2022, 11, 27, 5, 0), + LocalDateTime.of(2022, 11, 27, 6, 0), 15); + + // adding scheduled times to test + ArrayList> prepTime = new ArrayList<>(); + + ArrayList prep1 = new ArrayList<>(); + prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); + prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + + ArrayList prep2 = new ArrayList<>(); + prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); + prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); + + prepTime.add(prep1); + prepTime.add(prep2); + + test.setPrepTimeScheduled(prepTime); + + // creating assignment + Assignment assignment = new Assignment("Assignment", "AssignmentUser", + LocalDateTime.of(2022, 12, 5, 22, 0), 5); + + // adding scheduled times to assignment + ArrayList> assignmentPrepTime = new ArrayList<>(); + + ArrayList assignmentPrep1 = new ArrayList<>(); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); + assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); + + ArrayList assignmentPrep2 = new ArrayList<>(); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); + assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); + + assignmentPrepTime.add(assignmentPrep1); + assignmentPrepTime.add(assignmentPrep2); + + assignment.setPrepTimeScheduled(assignmentPrepTime); + + tasks.add(event); + tasks.add(test); + tasks.add(assignment); + + // creating time of working hours + ArrayList workingHours = new ArrayList<>(); + LocalTime workingHoursStart = LocalTime.of(1, 0); + LocalTime workingHoursEnd = LocalTime.of(2, 0); + workingHours.add(workingHoursStart); + workingHours.add(workingHoursEnd); + + // creating time block of collaborative task user wants to schedule + // conflicts with workingHours + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); + + // creating student user + StudentUser user = new StudentUser("alyson", "veryTiredStudent"); + user.setWorkingHours(workingHours); + + boolean expected = false; + boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); + + Assertions.assertEquals(expected, actual); + } + + @Test + public void getDatesDailyTest() { + // Tests getDates with a frequency of "daily" + // Should return an ArrayList> of times until the deadline + + String frequency = "daily"; + + // creating time block of date and time of when the user wants to start scheduling + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); + + // creating deadline + LocalDateTime deadline = LocalDateTime.of(2022, 11, 30, 12, 0); + + // creating expected output + ArrayList> dates = new ArrayList<>(); + + ArrayList date1 = new ArrayList<>(); + LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); + date1.add(date1Start); + date1.add(date1End); + + ArrayList date2 = new ArrayList<>(); + LocalDateTime date2Start = LocalDateTime.of(2022, 11, 29, 9, 0); + LocalDateTime date2End = LocalDateTime.of(2022, 11, 29, 10, 0); + date2.add(date2Start); + date2.add(date2End); + + ArrayList date3 = new ArrayList<>(); + LocalDateTime date3Start = LocalDateTime.of(2022, 11, 30, 9, 0); + LocalDateTime date3End = LocalDateTime.of(2022, 11, 30, 10, 0); + date3.add(date3Start); + date3.add(date3End); + + dates.add(date1); + dates.add(date2); + dates.add(date3); + + ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); + Assertions.assertEquals(dates, actual); + } + + @Test + public void getDatesWeeklyTest() { + // Tests getDates with a frequency of "weekly" + // Should return an ArrayList> of times until the deadline + + String frequency = "weekly"; + + // creating time block of date and time of when the user wants to start scheduling + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); + + // creating deadline + LocalDateTime deadline = LocalDateTime.of(2022, 12, 5, 12, 0); + + // creating expected output + ArrayList> dates = new ArrayList<>(); + + ArrayList date1 = new ArrayList<>(); + LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); + date1.add(date1Start); + date1.add(date1End); + + ArrayList date2 = new ArrayList<>(); + LocalDateTime date2Start = LocalDateTime.of(2022, 12, 5, 9, 0); + LocalDateTime date2End = LocalDateTime.of(2022, 12, 5, 10, 0); + date2.add(date2Start); + date2.add(date2End); + + dates.add(date1); + dates.add(date2); + + ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); + Assertions.assertEquals(dates, actual); + } + + @Test + public void getDatesMonthlyTest() { + // Tests getDates with a frequency of "monthly" + // Should return an ArrayList> of times until the deadline + + String frequency = "monthly"; + + // creating time block of date and time of when the user wants to start scheduling + LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); + + // creating deadline + LocalDateTime deadline = LocalDateTime.of(2023, 1, 30, 12, 0); + + // creating expected output + ArrayList> dates = new ArrayList<>(); + + ArrayList date1 = new ArrayList<>(); + LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); + LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); + date1.add(date1Start); + date1.add(date1End); + + ArrayList date2 = new ArrayList<>(); + LocalDateTime date2Start = LocalDateTime.of(2022, 12, 28, 9, 0); + LocalDateTime date2End = LocalDateTime.of(2022, 12, 28, 10, 0); + date2.add(date2Start); + date2.add(date2End); + + ArrayList date3 = new ArrayList<>(); + LocalDateTime date3Start = LocalDateTime.of(2023, 1, 28, 9, 0); + LocalDateTime date3End = LocalDateTime.of(2023, 1, 28, 10, 0); + date3.add(date3Start); + date3.add(date3End); + + dates.add(date1); + dates.add(date2); + dates.add(date3); + + ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); + Assertions.assertEquals(dates, actual); + } + + + +} + From 0281f86f9baf210d63a2b382b4715a4673026b65 Mon Sep 17 00:00:00 2001 From: alyson647 Date: Sun, 27 Nov 2022 00:18:22 -0500 Subject: [PATCH 04/14] Deleted test file --- .../ScheduleCTInteractorTest.java | 1020 ----------------- 1 file changed, 1020 deletions(-) delete mode 100644 src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java diff --git a/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java b/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java deleted file mode 100644 index d522548..0000000 --- a/src/test/java/test_scheduling_ct_use_case/ScheduleCTInteractorTest.java +++ /dev/null @@ -1,1020 +0,0 @@ -package test_scheduling_ct_use_case; - -import entities.*; -import entities.Event; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; -import scheduling_ct_screens.ScheduleCTPresenter; -import scheduling_ct_screens.ScheduleCTView; -import scheduling_ct_screens.ScheduleCTViewInterface; -import scheduling_ct_use_case.*; - -import javax.swing.*; -import java.awt.*; -import java.lang.reflect.Array; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.HashMap; - -class ScheduleCTInteractorTest { - CardLayout cardLayout = new CardLayout(); - JPanel screens = new JPanel(); - ScheduleCTViewInterface view = new ScheduleCTView(cardLayout, screens); - ScheduleCTOutputBoundary presenter = new ScheduleCTPresenter(view); - ScheduleCTInteractor interactor = new ScheduleCTInteractor(presenter); - - // ******* IMPORTANT NOTE ******** // - // THE TESTS THAT INCLUDE THE CREATION OF A TASK ONLY WORK WHEN YOU COMMENT OUT THE save() IN THE TASK - // CLASS CONSTRUCTORS - // THIS IS BECAUSE I'M NOT TRYING TO SAVE THIS INTO A TASK MAP AND THERE'S NO TASK MAP TO SAVE IT TO - - @Test - public void convertLocalDateTimeToStringTest() { - - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 6, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); - - String expected = "2022-11-26 06:00 to 2022-11-26 07:00"; - String actual = interactor.convertLocalDateTimeToString(start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void convertStringToLocalDateTimeTest() { - - String stringDateTime = "2022-11-26 06:00"; - - LocalDateTime expected = LocalDateTime.of(2022, 11, 26, 6, 0); - LocalDateTime actual = interactor.convertStringToLocalDateTime(stringDateTime); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void getTaskObjectFromNameTest() { - // test for when the task exists in the hash map given - - String taskName = "CSC207 lecture"; - HashMap hashMap = new HashMap(); - - StudentUser user = new StudentUser("Alyson", "penguinsAndDucks"); - - CollaborativeTask collaborativeTask1 = new CollaborativeTask("CSC207 lecture", "207User", - 1, false, "", LocalDateTime.of(2022, 11, 26, 2, 0), - LocalDateTime.of(2022, 11, 26, 3, 0), - LocalDateTime.of(2022, 11, 26, 8, 0), - user); - Event event2 = new Event("Hackathon", "HackathonUser", 1, - LocalDateTime.of(2022, 11, 27, 2, 0), - LocalDateTime.of(2022, 11, 27, 3, 0), - false, ""); - - hashMap.put("207User", collaborativeTask1); - hashMap.put("HackathonUser", event2); - - Task actual = interactor.getTaskObjectFromName(taskName, hashMap); - - Assertions.assertEquals(collaborativeTask1, actual); - } - - @Test - public void getAllTaskFromIdExceptOneTest() { - // test getAllTaskFromIdExceptOne - - HashMap hashMap = new HashMap(); - - StudentUser user = new StudentUser("Alyson", "penguinsAndDucks"); - ArrayList toDoList = new ArrayList<>(); - toDoList.add("207User"); - toDoList.add("HackathonUser"); - toDoList.add("LunchUser"); - - user.setToDoList(toDoList); - - CollaborativeTask collaborativeTask1 = new CollaborativeTask("CSC207 lecture", "207User", - 1, false, "", LocalDateTime.of(2022, 11, 26, 2, 0), - LocalDateTime.of(2022, 11, 26, 3, 0), - LocalDateTime.of(2022, 11, 26, 8, 0), - user); - Event event1 = new Event("Hackathon", "HackathonUser", 1, - LocalDateTime.of(2022, 11, 27, 2, 0), - LocalDateTime.of(2022, 11, 27, 3, 0), - false, ""); - Event event2 = new Event("Eat lunch", "LunchUser", 1, - LocalDateTime.of(2022, 11, 28, 12, 0), - LocalDateTime.of(2022, 11, 28, 13, 0), - false, ""); - - hashMap.put("207User", collaborativeTask1); - hashMap.put("LunchUser", event2); - hashMap.put("HackathonUser", event1); - - ArrayList expected = new ArrayList<>(); - expected.add(event1); - expected.add(event2); - - ArrayList actual = interactor.getAllTaskFromIdExceptOne(collaborativeTask1, user, hashMap); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeNoConflictTest() { - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 1, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 3, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 25, 6, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 25, 7, 0); - - boolean expected = true; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseOneTest() { - // Testing the first case where the time block is within start and end - // output should be false since conflicting - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 4, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 5, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 6, 0); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseTwoTest() { - // Testing the second case where the time block covers start and end - // output should be false since conflicting - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 8, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 6, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseThreeTest() { - // Testing the third case where the starts before START, and the end of the time block is between START and END - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 5, 30); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseFourTest() { - // Testing the fourth case where the time block starts at the same time as START - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseFiveTest() { - // Testing the fifth case where the time block ends at the same time as END - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 6, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 6, 0); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void givenTimeCaseSixTest() { - // Testing the sixth case where the time block starts within START and END, and ends after END - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 9, 0); - - // creating time block of existing task - LocalDateTime start = LocalDateTime.of(2022, 11, 26, 4, 0); - LocalDateTime end = LocalDateTime.of(2022, 11, 26, 7, 0); - - boolean expected = false; - boolean actual = interactor.givenTime(timeBlockStart, timeBlockEnd, start, end); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursFreeNoConflictTest() { - // Testing that workingHoursFree should return true when no conflict between time blocks - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 6, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 7, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(2, 0); - LocalTime workingHoursEnd = LocalTime.of(3, 0); - - boolean expected = true; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursCaseOneTest() { - // Testing first case where the time block is within working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(2, 0); - LocalTime workingHoursEnd = LocalTime.of(5, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursCaseTwoTest() { - // Testing second case where the time block covers all working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 2, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 5, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(3, 0); - LocalTime workingHoursEnd = LocalTime.of(4, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - - } - - @Test - public void workingHoursCaseThreeTest() { - // Testing third case where the time block starts before working hours, and ends between working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 1, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(2, 0); - LocalTime workingHoursEnd = LocalTime.of(5, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursCaseFourTest() { - // Testing fourth case where the time block starts between working hours, and ends after working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 8, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(2, 0); - LocalTime workingHoursEnd = LocalTime.of(5, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursCaseFiveTest() { - // Testing fifth case where the end of the time block is equal to the end of working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(2, 0); - LocalTime workingHoursEnd = LocalTime.of(4, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void workingHoursCaseSixTest() { - // Testing sixth case where the start of the time block is equal to the start of working hours - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); - - // creating time of working hours - LocalTime workingHoursStart = LocalTime.of(3, 0); - LocalTime workingHoursEnd = LocalTime.of(5, 0); - - boolean expected = false; - boolean actual = interactor.workingHoursFree(timeBlockStart, timeBlockEnd, workingHoursStart, workingHoursEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void collaborativeTaskFreeNoConflictTest() { - // Testing collaborativeTaskFree where given a collaborative task and a start and end date and time - // Should return true since there is no conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 26, 3, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 26, 4, 0); - - // creating student user - StudentUser user = new StudentUser("alyson", "catsAndDog"); - - // creating a collaborative task - CollaborativeTask collaborativeTask = new CollaborativeTask("Eating", "EatingUser", 1, - true, "daily", - LocalDateTime.of(2022, 11, 26, 7, 0), - LocalDateTime.of(2022, 11, 26, 8, 0), - LocalDateTime.of(2022, 11, 28, 9, 0), - user); - // adding scheduled times to collaborative task - ArrayList> scheduledDates = new ArrayList<>(); - - ArrayList date1 = new ArrayList<>(); - date1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - date1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList date2 = new ArrayList<>(); - date2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - date2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - ArrayList date3 = new ArrayList<>(); - date3.add(LocalDateTime.of(2022, 11, 28, 7, 0)); - date3.add(LocalDateTime.of(2022, 11, 29, 8, 0)); - - scheduledDates.add(date1); - scheduledDates.add(date2); - scheduledDates.add(date3); - - collaborativeTask.setTimeBlocks(scheduledDates); - - boolean expected = true; - boolean actual = interactor.collaborativeTaskFree(collaborativeTask, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void collaborativeTaskFreeConflictTest() { - // Testing collaborativeTaskFree where given a collaborative task and a start and end date and time - // Should return false since there is a conflict - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 7, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 8, 0); - - // creating student user - StudentUser user = new StudentUser("alyson", "catsAndDog"); - - // creating a collaborative task - CollaborativeTask collaborativeTask = new CollaborativeTask("Eating", "EatingUser", 1, - true, "daily", - LocalDateTime.of(2022, 11, 26, 7, 0), - LocalDateTime.of(2022, 11, 26, 8, 0), - LocalDateTime.of(2022, 11, 28, 9, 0), - user); - // adding scheduled times to collaborative task - ArrayList> scheduledDates = new ArrayList<>(); - - ArrayList date1 = new ArrayList<>(); - date1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - date1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList date2 = new ArrayList<>(); - date2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - date2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - ArrayList date3 = new ArrayList<>(); - date3.add(LocalDateTime.of(2022, 11, 28, 7, 0)); - date3.add(LocalDateTime.of(2022, 11, 29, 8, 0)); - - scheduledDates.add(date1); - scheduledDates.add(date2); - scheduledDates.add(date3); - - collaborativeTask.setTimeBlocks(scheduledDates); - - boolean expected = false; - boolean actual = interactor.collaborativeTaskFree(collaborativeTask, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void assignmentFreeNoConflictTest() { - // Testing assignmentFree given an assignment and a start and end time - // Should return true since there is no conflict between the assignment and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 5, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 6, 0); - - // creating assignment - Assignment assignment = new Assignment("Assignment", "AssignmentUser", - LocalDateTime.of(2022, 11, 27, 22, 0), 5); - - // adding scheduled times to assignment - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - assignment.setPrepTimeScheduled(prepTime); - - boolean expected = true; - boolean actual = interactor.assignmentFree(assignment, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void assignmentFreeConflictTest() { - // Testing assignmentFree given an assignment and a start and end time - // Should return false since there is a conflict between the assignment and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 7, 30); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 8, 0); - - // creating assignment - Assignment assignment = new Assignment("Assignment", "AssignmentUser", - LocalDateTime.of(2022, 11, 27, 22, 0), 5); - - // adding scheduled times to assignment - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - assignment.setPrepTimeScheduled(prepTime); - - boolean expected = false; - boolean actual = interactor.assignmentFree(assignment, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void testFreeNoConflictTest() { - // Testing testFree given a test and a start and end time - // Should return true since there is no conflict between the test and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 4, 30); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 5, 0); - - // creating test - entities.Test test = new entities.Test("Test", "TestUser", - LocalDateTime.of(2022, 11, 27, 14, 0), - LocalDateTime.of(2022, 11, 27, 16, 0), 15); - - // adding scheduled times to test - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - test.setPrepTimeScheduled(prepTime); - - boolean expected = true; - boolean actual = interactor.testFree(test, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void testFreeConflictTest() { - // Testing testFree given a test and a start and end date and time - // Should return false since there is a conflict between the test and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 15, 30); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 16, 0); - - // creating test - entities.Test test = new entities.Test("Test", "TestUser", - LocalDateTime.of(2022, 11, 27, 14, 0), - LocalDateTime.of(2022, 11, 27, 16, 0), 15); - - // adding scheduled times to test - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 26, 7, 0)); - prep1.add(LocalDateTime.of(2022, 11, 26, 8, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 7, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - test.setPrepTimeScheduled(prepTime); - - boolean expected = false; - boolean actual = interactor.testFree(test, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void eventFreeNoConflictTest() { - // Testing eventFree given an event and a start and end date and time - // Should return true since there is no conflict between the event and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 27, 4, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 27, 5, 0); - - // creating event - Event event = new Event("Event", "EventUser", 1, - LocalDateTime.of(2022, 11, 28, 13, 0), - LocalDateTime.of(2022, 11, 28, 15, 0), - false, ""); - - boolean expected = true; - boolean actual = interactor.eventFree(event, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void eventFreeConflictTest() { - // Testing eventFree given an event and a start and end date and time - // Should return false since there is a conflict between the event and the time block given - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 14, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 15, 0); - - // creating event - Event event = new Event("Event", "EventUser", 1, - LocalDateTime.of(2022, 11, 28, 13, 0), - LocalDateTime.of(2022, 11, 28, 15, 0), - false, ""); - - boolean expected = false; - boolean actual = interactor.eventFree(event, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void isUserAvailableAtDateTimeNoConflictTest() { - // Testing isUserAvailableAtDateTime - // Should return true since there is no conflict - - ArrayList tasks = new ArrayList<>(); - // creating event - Event event = new Event("Event", "EventUser", 1, - LocalDateTime.of(2022, 11, 27, 4, 0), - LocalDateTime.of(2022, 11, 27, 5, 0), - false, ""); - - // creating test - entities.Test test = new entities.Test("Test", "TestUser", - LocalDateTime.of(2022, 11, 27, 5, 0), - LocalDateTime.of(2022, 11, 27, 6, 0), 15); - - // adding scheduled times to test - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - test.setPrepTimeScheduled(prepTime); - - // creating assignment - Assignment assignment = new Assignment("Assignment", "AssignmentUser", - LocalDateTime.of(2022, 12, 5, 22, 0), 5); - - // adding scheduled times to assignment - ArrayList> assignmentPrepTime = new ArrayList<>(); - - ArrayList assignmentPrep1 = new ArrayList<>(); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); - - ArrayList assignmentPrep2 = new ArrayList<>(); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); - - assignmentPrepTime.add(assignmentPrep1); - assignmentPrepTime.add(assignmentPrep2); - - assignment.setPrepTimeScheduled(assignmentPrepTime); - - tasks.add(event); - tasks.add(test); - tasks.add(assignment); - - // creating time of working hours - ArrayList workingHours = new ArrayList<>(); - LocalTime workingHoursStart = LocalTime.of(1, 0); - LocalTime workingHoursEnd = LocalTime.of(2, 0); - workingHours.add(workingHoursStart); - workingHours.add(workingHoursEnd); - - // creating time block of collaborative task user wants to schedule - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 29, 4, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 29, 5, 0); - - // creating student user - StudentUser user = new StudentUser("alyson", "veryTiredStudent"); - user.setWorkingHours(workingHours); - - boolean expected = true; - boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void isUserAvailableAtDateTimeConflictWithWorkingHoursTest() { - // Testing isUserAvailableAtDateTime - // Should return false since there is a conflict - - ArrayList tasks = new ArrayList<>(); - // creating event - Event event = new Event("Event", "EventUser", 1, - LocalDateTime.of(2022, 11, 27, 4, 0), - LocalDateTime.of(2022, 11, 27, 5, 0), - false, ""); - - // creating test - entities.Test test = new entities.Test("Test", "TestUser", - LocalDateTime.of(2022, 11, 27, 5, 0), - LocalDateTime.of(2022, 11, 27, 6, 0), 15); - - // adding scheduled times to test - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - test.setPrepTimeScheduled(prepTime); - - // creating assignment - Assignment assignment = new Assignment("Assignment", "AssignmentUser", - LocalDateTime.of(2022, 12, 5, 22, 0), 5); - - // adding scheduled times to assignment - ArrayList> assignmentPrepTime = new ArrayList<>(); - - ArrayList assignmentPrep1 = new ArrayList<>(); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); - - ArrayList assignmentPrep2 = new ArrayList<>(); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); - - assignmentPrepTime.add(assignmentPrep1); - assignmentPrepTime.add(assignmentPrep2); - - assignment.setPrepTimeScheduled(assignmentPrepTime); - - tasks.add(event); - tasks.add(test); - tasks.add(assignment); - - // creating time of working hours - ArrayList workingHours = new ArrayList<>(); - LocalTime workingHoursStart = LocalTime.of(1, 0); - LocalTime workingHoursEnd = LocalTime.of(2, 0); - workingHours.add(workingHoursStart); - workingHours.add(workingHoursEnd); - - // creating time block of collaborative task user wants to schedule - // conflicts with workingHours - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 29, 1, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 29, 3, 0); - - // creating student user - StudentUser user = new StudentUser("alyson", "veryTiredStudent"); - user.setWorkingHours(workingHours); - - boolean expected = false; - boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void isUserAvailableAtDateTimeConflictWithTaskTest() { - // Testing isUserAvailableAtDateTime - // Should return false since there is a conflict - - ArrayList tasks = new ArrayList<>(); - // creating event - Event event = new Event("Event", "EventUser", 1, - LocalDateTime.of(2022, 11, 27, 4, 0), - LocalDateTime.of(2022, 11, 27, 5, 0), - false, ""); - - // creating test - entities.Test test = new entities.Test("Test", "TestUser", - LocalDateTime.of(2022, 11, 27, 5, 0), - LocalDateTime.of(2022, 11, 27, 6, 0), 15); - - // adding scheduled times to test - ArrayList> prepTime = new ArrayList<>(); - - ArrayList prep1 = new ArrayList<>(); - prep1.add(LocalDateTime.of(2022, 11, 27, 8, 0)); - prep1.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - - ArrayList prep2 = new ArrayList<>(); - prep2.add(LocalDateTime.of(2022, 11, 27, 9, 0)); - prep2.add(LocalDateTime.of(2022, 11, 27, 10, 0)); - - prepTime.add(prep1); - prepTime.add(prep2); - - test.setPrepTimeScheduled(prepTime); - - // creating assignment - Assignment assignment = new Assignment("Assignment", "AssignmentUser", - LocalDateTime.of(2022, 12, 5, 22, 0), 5); - - // adding scheduled times to assignment - ArrayList> assignmentPrepTime = new ArrayList<>(); - - ArrayList assignmentPrep1 = new ArrayList<>(); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 7, 0)); - assignmentPrep1.add(LocalDateTime.of(2022, 11, 28, 8, 0)); - - ArrayList assignmentPrep2 = new ArrayList<>(); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 9, 0)); - assignmentPrep2.add(LocalDateTime.of(2022, 11, 28, 10, 0)); - - assignmentPrepTime.add(assignmentPrep1); - assignmentPrepTime.add(assignmentPrep2); - - assignment.setPrepTimeScheduled(assignmentPrepTime); - - tasks.add(event); - tasks.add(test); - tasks.add(assignment); - - // creating time of working hours - ArrayList workingHours = new ArrayList<>(); - LocalTime workingHoursStart = LocalTime.of(1, 0); - LocalTime workingHoursEnd = LocalTime.of(2, 0); - workingHours.add(workingHoursStart); - workingHours.add(workingHoursEnd); - - // creating time block of collaborative task user wants to schedule - // conflicts with workingHours - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); - - // creating student user - StudentUser user = new StudentUser("alyson", "veryTiredStudent"); - user.setWorkingHours(workingHours); - - boolean expected = false; - boolean actual = interactor.isUserAvailableAtDateTime(user, tasks, timeBlockStart, timeBlockEnd); - - Assertions.assertEquals(expected, actual); - } - - @Test - public void getDatesDailyTest() { - // Tests getDates with a frequency of "daily" - // Should return an ArrayList> of times until the deadline - - String frequency = "daily"; - - // creating time block of date and time of when the user wants to start scheduling - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); - - // creating deadline - LocalDateTime deadline = LocalDateTime.of(2022, 11, 30, 12, 0); - - // creating expected output - ArrayList> dates = new ArrayList<>(); - - ArrayList date1 = new ArrayList<>(); - LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); - date1.add(date1Start); - date1.add(date1End); - - ArrayList date2 = new ArrayList<>(); - LocalDateTime date2Start = LocalDateTime.of(2022, 11, 29, 9, 0); - LocalDateTime date2End = LocalDateTime.of(2022, 11, 29, 10, 0); - date2.add(date2Start); - date2.add(date2End); - - ArrayList date3 = new ArrayList<>(); - LocalDateTime date3Start = LocalDateTime.of(2022, 11, 30, 9, 0); - LocalDateTime date3End = LocalDateTime.of(2022, 11, 30, 10, 0); - date3.add(date3Start); - date3.add(date3End); - - dates.add(date1); - dates.add(date2); - dates.add(date3); - - ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); - Assertions.assertEquals(dates, actual); - } - - @Test - public void getDatesWeeklyTest() { - // Tests getDates with a frequency of "weekly" - // Should return an ArrayList> of times until the deadline - - String frequency = "weekly"; - - // creating time block of date and time of when the user wants to start scheduling - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); - - // creating deadline - LocalDateTime deadline = LocalDateTime.of(2022, 12, 5, 12, 0); - - // creating expected output - ArrayList> dates = new ArrayList<>(); - - ArrayList date1 = new ArrayList<>(); - LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); - date1.add(date1Start); - date1.add(date1End); - - ArrayList date2 = new ArrayList<>(); - LocalDateTime date2Start = LocalDateTime.of(2022, 12, 5, 9, 0); - LocalDateTime date2End = LocalDateTime.of(2022, 12, 5, 10, 0); - date2.add(date2Start); - date2.add(date2End); - - dates.add(date1); - dates.add(date2); - - ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); - Assertions.assertEquals(dates, actual); - } - - @Test - public void getDatesMonthlyTest() { - // Tests getDates with a frequency of "monthly" - // Should return an ArrayList> of times until the deadline - - String frequency = "monthly"; - - // creating time block of date and time of when the user wants to start scheduling - LocalDateTime timeBlockStart = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime timeBlockEnd = LocalDateTime.of(2022, 11, 28, 10, 0); - - // creating deadline - LocalDateTime deadline = LocalDateTime.of(2023, 1, 30, 12, 0); - - // creating expected output - ArrayList> dates = new ArrayList<>(); - - ArrayList date1 = new ArrayList<>(); - LocalDateTime date1Start = LocalDateTime.of(2022, 11, 28, 9, 0); - LocalDateTime date1End = LocalDateTime.of(2022, 11, 28, 10, 0); - date1.add(date1Start); - date1.add(date1End); - - ArrayList date2 = new ArrayList<>(); - LocalDateTime date2Start = LocalDateTime.of(2022, 12, 28, 9, 0); - LocalDateTime date2End = LocalDateTime.of(2022, 12, 28, 10, 0); - date2.add(date2Start); - date2.add(date2End); - - ArrayList date3 = new ArrayList<>(); - LocalDateTime date3Start = LocalDateTime.of(2023, 1, 28, 9, 0); - LocalDateTime date3End = LocalDateTime.of(2023, 1, 28, 10, 0); - date3.add(date3Start); - date3.add(date3End); - - dates.add(date1); - dates.add(date2); - dates.add(date3); - - ArrayList> actual = interactor.getDates(frequency, timeBlockStart, timeBlockEnd, deadline); - Assertions.assertEquals(dates, actual); - } - - - -} - From ca341e141f7e1e7574c5ed396bc15a31cca3a925 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:09:55 -0500 Subject: [PATCH 05/14] fixed bugs in calendar view screens --- src/main/java/screens/DayViewPanel.java | 2 +- src/main/java/screens/WeekViewPanel.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/screens/DayViewPanel.java b/src/main/java/screens/DayViewPanel.java index 5eb129b..408b04c 100644 --- a/src/main/java/screens/DayViewPanel.java +++ b/src/main/java/screens/DayViewPanel.java @@ -51,7 +51,7 @@ public DayViewPanel(LocalDate date, ArrayList allTasks, StudentUser user) ArrayList weekday = new ArrayList<>(); weekday.add(""); int weekdayInt = date.getDayOfWeek().getValue(); - weekday.add(weekdays[weekdayInt]); + weekday.add(weekdays[weekdayInt - 1]); for (int i = 0; i < weekday.size(); i++) { GridBagConstraints c = new GridBagConstraints(); diff --git a/src/main/java/screens/WeekViewPanel.java b/src/main/java/screens/WeekViewPanel.java index 9a9f9bb..6c17160 100644 --- a/src/main/java/screens/WeekViewPanel.java +++ b/src/main/java/screens/WeekViewPanel.java @@ -62,7 +62,11 @@ public WeekViewPanel(LocalDate date, ArrayList allTasks, StudentUser user) Calendar iterator = (Calendar) calendar.clone(); iterator.add(Calendar.DAY_OF_MONTH, -(iterator.get(Calendar.DAY_OF_WEEK) - 1)); Calendar maximum = (Calendar) calendar.clone(); - maximum.add(Calendar.DAY_OF_WEEK, 7-dayOfWeek); + if (maximum.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) { + maximum.add(Calendar.DAY_OF_WEEK, 7-dayOfWeek); + } else { + maximum.add(Calendar.DAY_OF_WEEK, dayOfWeek); + } // Create day of week panels String[] weekdays = {"", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; From 4e9d99e41b52b0c5434380dff244be460844c1c7 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:13:26 -0500 Subject: [PATCH 06/14] resolving merge conflicts --- src/main/java/Main.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 27f05c6..42c66e0 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -4,6 +4,10 @@ import event_creation_use_case.*; import login_usecase.*; import progress_tracker_use_case.*; +import scheduling_ct_screens.*; +import scheduling_ct_use_case.ScheduleCTInputBoundary; +import scheduling_ct_use_case.ScheduleCTInteractor; +import scheduling_ct_use_case.ScheduleCTOutputBoundary; import schedule_conflict_use_case.ScheduleConflictPresenter; import scheduler_use_case.SchedulerPresenter; import screens.*; From a9e5838bd406f29c8c5c87c364fbbcf31adb9835 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:14:21 -0500 Subject: [PATCH 07/14] resolving merge conflicts --- src/main/java/Main.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 42c66e0..767cf25 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -8,8 +8,6 @@ import scheduling_ct_use_case.ScheduleCTInputBoundary; import scheduling_ct_use_case.ScheduleCTInteractor; import scheduling_ct_use_case.ScheduleCTOutputBoundary; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import scheduler_use_case.SchedulerPresenter; import screens.*; import user_register_usecase.*; @@ -41,13 +39,13 @@ public static void main(String[] args) { User user = ((UserRegInteractor) userInteractor).getUser(); - SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); - ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); - - EventCreationPresenter eventPresenter = new EventCreationResponseFormatter(); - EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user, - schedulerPresenter, scheduleConflictPresenter); - EventCreationController eventCreationController = new EventCreationController(eventInteractor); +// SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); +// ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); +// +// EventCreationPresenter eventPresenter = new EventCreationResponseFormatter(); +// EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user, +// schedulerPresenter, scheduleConflictPresenter); +// EventCreationController eventCreationController = new EventCreationController(eventInteractor); ProgressTrackerOutputBoundary trackerPresenter = new ProgressTrackerPresenter(); ProgressTrackerInputBoundary trackerInteractor = new ProgressTrackerInteractor (trackerPresenter); @@ -65,8 +63,8 @@ public static void main(String[] args) { CourseCreationController courseCreationController = new CourseCreationController(interactor); // Build the GUI - EventCreationScreen taskScreen = new EventCreationScreen(eventCreationController, screens, cardLayout); - screens.add("toDoList", taskScreen); +// EventCreationScreen taskScreen = new EventCreationScreen(eventCreationController, screens, cardLayout); +// screens.add("toDoList", taskScreen); CalendarScreen calendarScreen = new CalendarScreen((StudentUser) user, allTasks, screens, cardLayout); screens.add("calendar", calendarScreen); From cb2569f2862ced35d97a3ff13e2a0b9c65fc7b66 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:17:03 -0500 Subject: [PATCH 08/14] resolving merge conflicts --- src/main/java/Main.java | 20 ++++++++++--------- .../ScheduleConflictPresenter.java | 10 ---------- 2 files changed, 11 insertions(+), 19 deletions(-) delete mode 100644 src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index c336f3d..d71ac98 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -8,6 +8,8 @@ import scheduling_ct_use_case.ScheduleCTInputBoundary; import scheduling_ct_use_case.ScheduleCTInteractor; import scheduling_ct_use_case.ScheduleCTOutputBoundary; +import schedule_conflict_use_case.ScheduleConflictPresenter; +import scheduler_use_case.SchedulerPresenter; import screens.*; import user_register_usecase.*; @@ -39,13 +41,13 @@ public static void main(String[] args) { User user = ((UserRegInteractor) userInteractor).getUser(); -// SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); -// ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); -// -// EventCreationPresenter eventPresenter = new EventCreationResponseFormatter(); -// EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user, -// schedulerPresenter, scheduleConflictPresenter); -// EventCreationController eventCreationController = new EventCreationController(eventInteractor); + SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); + ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); + + EventCreationPresenter eventPresenter = new EventCreationResponseFormatter(); + EventCreationInputBoundary eventInteractor = new EventCreationInteractor(eventPresenter, (StudentUser) user, + schedulerPresenter, scheduleConflictPresenter); + EventCreationController eventCreationController = new EventCreationController(eventInteractor); ProgressTrackerOutputBoundary trackerPresenter = new ProgressTrackerPresenter(); ProgressTrackerInputBoundary trackerInteractor = new ProgressTrackerInteractor (trackerPresenter); @@ -68,8 +70,8 @@ public static void main(String[] args) { CourseCreationController courseCreationController = new CourseCreationController(interactor); // Build the GUI -// EventCreationScreen taskScreen = new EventCreationScreen(eventCreationController, screens, cardLayout); -// screens.add("toDoList", taskScreen); + EventCreationScreen taskScreen = new EventCreationScreen(eventCreationController, screens, cardLayout); + screens.add("toDoList", taskScreen); CalendarScreen calendarScreen = new CalendarScreen((StudentUser) user, allTasks, screens, cardLayout); screens.add("calendar", calendarScreen); diff --git a/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java b/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java deleted file mode 100644 index 02d540c..0000000 --- a/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java +++ /dev/null @@ -1,10 +0,0 @@ -package schedule_conflict_use_case; - -public interface ScheduleConflictPresenter { - - /** - * Alert the user to a scheduling conflict - * @param requestModel - the given input - */ - ScheduleConflictResponseModel alertConflict(ScheduleConflictRequestModel requestModel); -} From 5fd44c2dfa3bd7b7ce5297527094333af85edc13 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:17:31 -0500 Subject: [PATCH 09/14] resolving merge conflicts --- .../ScheduleConflictPresenter.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java diff --git a/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java b/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java new file mode 100644 index 0000000..02d540c --- /dev/null +++ b/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java @@ -0,0 +1,10 @@ +package schedule_conflict_use_case; + +public interface ScheduleConflictPresenter { + + /** + * Alert the user to a scheduling conflict + * @param requestModel - the given input + */ + ScheduleConflictResponseModel alertConflict(ScheduleConflictRequestModel requestModel); +} From 4ecd7159cb7d75deefbce24676643be2ddaf2d08 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:21:29 -0500 Subject: [PATCH 10/14] resolving merge conflicts --- .../java/scheduler_use_case/SchedulerController.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/scheduler_use_case/SchedulerController.java b/src/main/java/scheduler_use_case/SchedulerController.java index 4674ac7..825f6c3 100644 --- a/src/main/java/scheduler_use_case/SchedulerController.java +++ b/src/main/java/scheduler_use_case/SchedulerController.java @@ -1,9 +1,11 @@ package scheduler_use_case; +import entities.Event; import entities.StudentUser; import entities.Task; +import event_creation_use_case.EventCreationResponseModel; -import java.util.ArrayList; +import java.time.LocalDateTime; public class SchedulerController { @@ -22,10 +24,12 @@ public SchedulerController(SchedulerInputBoundary taskInput) { /** * Create a request model with the given task and return the corresponding response model - * @param task - the given task + * @param responseModel - the created task's response model */ - SchedulerResponseModel schedule(Task task, ArrayList allTasks, StudentUser user) { - SchedulerRequestModel requestModel = new SchedulerRequestModel(task, allTasks, user); + public SchedulerResponseModel schedule(EventCreationResponseModel responseModel) { + Event task = new Event("test", "test", 0, LocalDateTime.now(), LocalDateTime.now(), false, null); + StudentUser user = new StudentUser("test", "test"); + SchedulerRequestModel requestModel = new SchedulerRequestModel(task, user); return taskInput.schedule(requestModel); } From 1e1dc4c3a4a52f74c37a9ceb6f87fc66139037f9 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:35:33 -0500 Subject: [PATCH 11/14] dayviewpanel bug fixes --- src/main/java/screens/DayViewPanel.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/screens/DayViewPanel.java b/src/main/java/screens/DayViewPanel.java index 408b04c..b7d34ea 100644 --- a/src/main/java/screens/DayViewPanel.java +++ b/src/main/java/screens/DayViewPanel.java @@ -6,6 +6,7 @@ import javax.swing.*; import java.awt.*; +import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -50,7 +51,10 @@ public DayViewPanel(LocalDate date, ArrayList allTasks, StudentUser user) String[] weekdays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; ArrayList weekday = new ArrayList<>(); weekday.add(""); - int weekdayInt = date.getDayOfWeek().getValue(); + WeekFields weekField = WeekFields.SUNDAY_START; + TemporalField tempField = weekField.dayOfWeek(); + DayOfWeek dayOfWeek = date.getDayOfWeek(); + int weekdayInt = dayOfWeek.get(tempField); weekday.add(weekdays[weekdayInt - 1]); for (int i = 0; i < weekday.size(); i++) { From 2881d449215740f3fb2c858f566ff7063aeebf68 Mon Sep 17 00:00:00 2001 From: celinelumqr Date: Sun, 27 Nov 2022 13:36:52 -0500 Subject: [PATCH 12/14] commented out tests as WIP --- .../SchedulerInteractorTest.java | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/src/test/java/scheduler_use_case/SchedulerInteractorTest.java b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java index f21c617..f2e69fb 100644 --- a/src/test/java/scheduler_use_case/SchedulerInteractorTest.java +++ b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java @@ -1,34 +1,34 @@ -package scheduler_use_case; - -import entities.*; -import org.junit.jupiter.api.Test; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import screens.ScheduleConflictResponseFormatter; -import screens.SchedulerResponseFormatter; - -import java.time.LocalDateTime; - -import static org.junit.jupiter.api.Assertions.*; - -class SchedulerInteractorTest { - - @Test - void schedule() { - // Initialise the classes - SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); - ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); - SchedulerInputBoundary interactor = new SchedulerInteractor(scheduleConflictPresenter, schedulerPresenter); - - // Create the test user and task - Event event = new Event("testEvent", "testid", 0, LocalDateTime.of(2022, 11, 29, 14, 0), - LocalDateTime.of(2022, 11, 29, 15, 0), false, null); - StudentUser user = new StudentUser("testUser", "testPassword"); - - // Test the interactor - SchedulerRequestModel requestModel = new SchedulerRequestModel(event, user); - interactor.schedule(requestModel); - - - } - -} \ No newline at end of file +//package scheduler_use_case; +// +//import entities.*; +//import org.junit.jupiter.api.Test; +//import schedule_conflict_use_case.ScheduleConflictPresenter; +//import screens.ScheduleConflictResponseFormatter; +//import screens.SchedulerResponseFormatter; +// +//import java.time.LocalDateTime; +// +//import static org.junit.jupiter.api.Assertions.*; +// +//class SchedulerInteractorTest { +// +// @Test +// void schedule() { +// // Initialise the classes +// SchedulerPresenter schedulerPresenter = new SchedulerResponseFormatter(); +// ScheduleConflictPresenter scheduleConflictPresenter = new ScheduleConflictResponseFormatter(); +// SchedulerInputBoundary interactor = new SchedulerInteractor(scheduleConflictPresenter, schedulerPresenter); +// +// // Create the test user and task +// Event event = new Event("testEvent", "testid", 0, LocalDateTime.of(2022, 11, 29, 14, 0), +// LocalDateTime.of(2022, 11, 29, 15, 0), false, null); +// StudentUser user = new StudentUser("testUser", "testPassword"); +// +// // Test the interactor +// SchedulerRequestModel requestModel = new SchedulerRequestModel(event, user); +// interactor.schedule(requestModel); +// +// +// } +// +//} \ No newline at end of file From c0cfe587db42e5a1cb9c67891512ce9218f8eaff Mon Sep 17 00:00:00 2001 From: Tiare Mar Date: Mon, 28 Nov 2022 17:10:37 -0500 Subject: [PATCH 13/14] refactored package organization --- src/main/java/Main.java | 29 ++++++++++--------- src/main/java/data/courses.csv | 1 + src/main/java/entities/TaskMap.java | 2 +- .../logout_usecase/LogoutRequestModel.java | 4 --- .../scheduling_ct_screens/LabelTextPanel.java | 22 -------------- .../CalendarScreen.java | 2 +- .../DayViewPanel.java | 2 +- .../MonthViewPanel.java | 2 +- .../ScheduleConflictResponseFormatter.java | 8 ++--- .../SchedulerResponseFormatter.java | 6 ++-- .../WeekViewPanel.java | 2 +- .../ScheduleCTController.java | 6 ++-- .../ScheduleCTFormatter.java | 2 +- .../ScheduleCTPresenter.java | 5 ++-- .../ScheduleCTScreen.java | 4 ++- .../ScheduleCTView.java | 2 +- .../ScheduleCTViewInterface.java | 2 +- .../SchedulingTimesFailed.java | 2 +- .../ProgressTrackerController.java | 8 ++--- .../ProgressTrackerPresenter.java | 6 ++-- .../ProgressTrackerScreen.java | 5 ++-- .../ProgressTrackingFail.java | 2 +- .../CourseCreationController.java | 8 ++--- .../CourseCreationFailed.java | 2 +- .../CourseCreationResponseFormatter.java | 6 ++-- .../CourseCreationScreen.java | 4 ++- .../CourseEnrolmentController.java | 8 ++--- .../CourseEnrolmentFailed.java | 2 +- .../CourseEnrolmentResponseFormatter.java | 6 ++-- .../CourseEnrolmentScreen.java | 4 ++- .../CourseFoundScreen.java | 2 +- .../{ => courses_features}/FileCourse.java | 6 ++-- .../InMemoryCourse.java | 6 ++-- .../{ => login_registration}/FileUser.java | 13 ++++----- .../InMemoryUser.java | 8 ++--- .../LoggedInScreen.java | 4 ++- .../LoginController.java | 8 ++--- .../{ => login_registration}/LoginFailed.java | 2 +- .../LoginResponseFormatter.java | 7 ++--- .../{ => login_registration}/LoginScreen.java | 4 ++- .../LogoutController.java | 8 ++--- .../RegisterScreen.java | 4 ++- .../UserCreationFailed.java | 2 +- .../UserRegController.java | 8 ++--- .../UserRegResponseFormatter.java | 6 ++-- .../AssignmentCreationController.java | 8 ++--- .../AssignmentEditController.java | 8 ++--- .../EventCreationController.java | 8 ++--- .../EventCreationFailed.java | 2 +- .../EventCreationResponseFormatter.java | 6 ++-- .../EventCreationScreen.java | 4 +-- .../EventEditController.java | 8 ++--- .../TaskDeletionController.java | 8 ++--- .../TestCreationController.java | 8 ++--- .../test_edit_screens/TestEditController.java | 8 ++--- .../TaskToTasklistPresenter.java | 4 --- .../ScheduleConflictPresenter.java | 2 +- .../ScheduleConflictRequestModel.java | 2 +- .../ScheduleConflictResponseModel.java | 2 +- .../SchedulerController.java | 5 ++-- .../SchedulerInputBoundary.java | 2 +- .../SchedulerInteractor.java | 8 ++--- .../SchedulerPresenter.java | 2 +- .../SchedulerRequestModel.java | 2 +- .../SchedulerResponseModel.java | 2 +- ...ollaborativeTaskCreationInputBoundary.java | 4 +-- .../CollaborativeTaskCreationInteractor.java | 4 +-- .../CollaborativeTaskCreationPresenter.java | 4 +-- ...CollaborativeTaskCreationRequestModel.java | 2 +- ...ollaborativeTaskCreationResponseModel.java | 2 +- .../CollaborativeTaskEditInputBoundary.java | 4 +-- .../CollaborativeTaskEditInteractor.java | 6 +--- .../CollaborativeTaskEditPresenter.java | 4 +-- .../CollaborativeTaskEditRequestModel.java | 2 +- .../CollaborativeTaskEditResponseModel.java | 2 +- .../ScheduleCTInputBoundary.java | 3 +- .../ScheduleCTInteractor.java | 4 +-- .../ScheduleCTOutputBoundary.java | 2 +- .../ScheduleCTRequestModel.java | 2 +- .../ScheduleCTResponseModel.java | 2 +- .../CourseCreationDsGateway.java | 2 +- .../CourseCreationInputBoundary.java | 2 +- .../CourseCreationInteractor.java | 2 +- .../CourseCreationPresenter.java | 2 +- .../CourseCreationRequestModel.java | 2 +- .../CourseCreationResponseModel.java | 2 +- .../CourseEnrolmentDsGateway.java | 2 +- .../CourseEnrolmentInputBoundary.java | 2 +- .../CourseEnrolmentInteractor.java | 2 +- .../CourseEnrolmentPresenter.java | 2 +- .../CourseEnrolmentRequestModel.java | 2 +- .../CourseEnrolmentResponseModel.java | 2 +- .../ProgressTrackerInputBoundary.java | 2 +- .../ProgressTrackerInteractor.java | 2 +- .../ProgressTrackerOutputBoundary.java | 2 +- .../ProgressTrackerRequestModel.java | 2 +- .../ProgressTrackerResponseModel.java | 2 +- .../login_usecase/LoginGateway.java | 4 +-- .../login_usecase/LoginInputBoundary.java | 4 +-- .../login_usecase/LoginInteractor.java | 11 ++++--- .../login_usecase/LoginPresenter.java | 4 +-- .../login_usecase/LoginRequestModel.java | 2 +- .../login_usecase/LoginResponseModel.java | 2 +- .../logout_usecase/LogoutGateway.java | 4 +-- .../logout_usecase/LogoutInputBoundary.java | 2 +- .../logout_usecase/LogoutInteractor.java | 7 +++-- .../logout_usecase/LogoutPresenter.java | 2 +- .../logout_usecase/LogoutRequestModel.java | 4 +++ .../logout_usecase/LogoutResponseModel.java | 2 +- .../InstructorSaveRequest.java | 2 +- .../StudentSaveRequest.java | 3 +- .../user_register_usecase/UserRegGateway.java | 2 +- .../UserRegInputBoundary.java | 2 +- .../UserRegInteractor.java | 2 +- .../UserRegPresenter.java | 2 +- .../user_register_usecase/UserRegRequest.java | 2 +- .../UserRegResponse.java | 2 +- .../UserRegSaveRequest.java | 2 +- .../AssignmentCreationInputBoundary.java | 2 +- .../AssignmentCreationInteractor.java | 4 +-- .../AssignmentCreationPresenter.java | 2 +- .../AssignmentCreationRequestModel.java | 2 +- .../AssignmentCreationResponseModel.java | 2 +- .../AssignmentEditInputBoundary.java | 2 +- .../AssignmentEditInteractor.java | 2 +- .../AssignmentEditPresenter.java | 2 +- .../AssignmentEditRequestModel.java | 2 +- .../AssignmentEditResponseModel.java | 2 +- .../EventCreationInputBoundary.java | 2 +- .../EventCreationInteractor.java | 12 ++++---- .../EventCreationPresenter.java | 2 +- .../EventCreationRequestModel.java | 2 +- .../EventCreationResponseModel.java | 2 +- .../EventEditInputBoundary.java | 2 +- .../EventEditInteractor.java | 4 +-- .../EventEditPresenter.java | 2 +- .../EventEditRequestModel.java | 2 +- .../EventEditResponseModel.java | 2 +- .../read_write/ReadWriter.java | 2 +- .../read_write/TaskReadWrite.java | 2 +- .../TaskDeletionInputBoundary.java | 6 +--- .../TaskDeletionInteractor.java | 4 +-- .../TaskDeletionPresenter.java | 2 +- .../TaskDeletionRequestModel.java | 2 +- .../TaskDeletionResponseModel.java | 2 +- .../TaskToTasklistInteractor.java | 2 +- .../TaskToTasklistPresenter.java | 4 +++ .../TestCreationInputBoundary.java | 4 +-- .../TestCreationInteractor.java | 4 +-- .../TestCreationPresenter.java | 2 +- .../TestCreationRequestModel.java | 2 +- .../TestCreationResponseModel.java | 2 +- .../TestEditInputBoundary.java | 2 +- .../TestEditInteractor.java | 2 +- .../test_edit_use_case/TestEditPresenter.java | 2 +- .../TestEditRequestModel.java | 2 +- .../TestEditResponseModel.java | 2 +- src/test/java/FileUserTest.java | 4 --- .../ProgressTrackerTest.java | 9 ++++++ .../SchedulerInteractorTest.java | 6 ++-- 160 files changed, 296 insertions(+), 326 deletions(-) create mode 100644 src/main/java/data/courses.csv delete mode 100644 src/main/java/logout_usecase/LogoutRequestModel.java delete mode 100644 src/main/java/scheduling_ct_screens/LabelTextPanel.java rename src/main/java/screens/{ => calendar_scheduler}/CalendarScreen.java (99%) rename src/main/java/screens/{ => calendar_scheduler}/DayViewPanel.java (99%) rename src/main/java/screens/{ => calendar_scheduler}/MonthViewPanel.java (99%) rename src/main/java/screens/{ => calendar_scheduler}/ScheduleConflictResponseFormatter.java (74%) rename src/main/java/screens/{ => calendar_scheduler}/SchedulerResponseFormatter.java (81%) rename src/main/java/screens/{ => calendar_scheduler}/WeekViewPanel.java (99%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTController.java (83%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTFormatter.java (91%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTPresenter.java (86%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTScreen.java (97%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTView.java (97%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/ScheduleCTViewInterface.java (90%) rename src/main/java/{scheduling_ct_screens => screens/collaborative_task_scheduling}/SchedulingTimesFailed.java (74%) rename src/main/java/screens/{ => course_progress}/ProgressTrackerController.java (83%) rename src/main/java/screens/{ => course_progress}/ProgressTrackerPresenter.java (87%) rename src/main/java/screens/{ => course_progress}/ProgressTrackerScreen.java (95%) rename src/main/java/screens/{ => course_progress}/ProgressTrackingFail.java (86%) rename src/main/java/screens/{ => courses_features}/CourseCreationController.java (66%) rename src/main/java/screens/{ => courses_features}/CourseCreationFailed.java (80%) rename src/main/java/screens/{ => courses_features}/CourseCreationResponseFormatter.java (77%) rename src/main/java/screens/{ => courses_features}/CourseCreationScreen.java (98%) rename src/main/java/screens/{ => courses_features}/CourseEnrolmentController.java (64%) rename src/main/java/screens/{ => courses_features}/CourseEnrolmentFailed.java (80%) rename src/main/java/screens/{ => courses_features}/CourseEnrolmentResponseFormatter.java (79%) rename src/main/java/screens/{ => courses_features}/CourseEnrolmentScreen.java (97%) rename src/main/java/screens/{ => courses_features}/CourseFoundScreen.java (96%) rename src/main/java/screens/{ => courses_features}/FileCourse.java (96%) rename src/main/java/screens/{ => courses_features}/InMemoryCourse.java (76%) rename src/main/java/screens/{ => login_registration}/FileUser.java (89%) rename src/main/java/screens/{ => login_registration}/InMemoryUser.java (77%) rename src/main/java/screens/{ => login_registration}/LoggedInScreen.java (94%) rename src/main/java/screens/{ => login_registration}/LoginController.java (62%) rename src/main/java/screens/{ => login_registration}/LoginFailed.java (76%) rename src/main/java/screens/{ => login_registration}/LoginResponseFormatter.java (77%) rename src/main/java/screens/{ => login_registration}/LoginScreen.java (96%) rename src/main/java/screens/{ => login_registration}/LogoutController.java (62%) rename src/main/java/screens/{ => login_registration}/RegisterScreen.java (98%) rename src/main/java/screens/{ => login_registration}/UserCreationFailed.java (79%) rename src/main/java/screens/{ => login_registration}/UserRegController.java (64%) rename src/main/java/screens/{ => login_registration}/UserRegResponseFormatter.java (76%) rename src/main/java/{ => screens/task_management}/assignment_creation_screens/AssignmentCreationController.java (61%) rename src/main/java/{ => screens/task_management}/assignment_edit_screens/AssignmentEditController.java (64%) rename src/main/java/{ => screens/task_management}/event_creation_screens/EventCreationController.java (66%) rename src/main/java/{ => screens/task_management}/event_creation_screens/EventCreationFailed.java (71%) rename src/main/java/{ => screens/task_management}/event_creation_screens/EventCreationResponseFormatter.java (61%) rename src/main/java/{ => screens/task_management}/event_creation_screens/EventCreationScreen.java (97%) rename src/main/java/{ => screens/task_management}/event_edit_screens/EventEditController.java (68%) rename src/main/java/{ => screens/task_management}/task_deletion_screens/TaskDeletionController.java (70%) rename src/main/java/{ => screens/task_management}/test_creation_screens/TestCreationController.java (63%) rename src/main/java/{ => screens/task_management}/test_edit_screens/TestEditController.java (66%) delete mode 100644 src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java rename src/main/java/{ => use_cases/calendar_scheduler}/schedule_conflict_use_case/ScheduleConflictPresenter.java (79%) rename src/main/java/{ => use_cases/calendar_scheduler}/schedule_conflict_use_case/ScheduleConflictRequestModel.java (89%) rename src/main/java/{ => use_cases/calendar_scheduler}/schedule_conflict_use_case/ScheduleConflictResponseModel.java (89%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerController.java (87%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerInputBoundary.java (81%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerInteractor.java (95%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerPresenter.java (89%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerRequestModel.java (94%) rename src/main/java/{ => use_cases/calendar_scheduler}/scheduler_use_case/SchedulerResponseModel.java (92%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java (65%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java (92%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java (76%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java (94%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java (88%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java (64%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java (90%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java (75%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java (96%) rename src/main/java/{ => use_cases/collaborative_task_management}/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java (89%) rename src/main/java/{ => use_cases/collaborative_task_scheduling}/scheduling_ct_use_case/ScheduleCTInputBoundary.java (89%) rename src/main/java/{ => use_cases/collaborative_task_scheduling}/scheduling_ct_use_case/ScheduleCTInteractor.java (99%) rename src/main/java/{ => use_cases/collaborative_task_scheduling}/scheduling_ct_use_case/ScheduleCTOutputBoundary.java (91%) rename src/main/java/{ => use_cases/collaborative_task_scheduling}/scheduling_ct_use_case/ScheduleCTRequestModel.java (92%) rename src/main/java/{ => use_cases/collaborative_task_scheduling}/scheduling_ct_use_case/ScheduleCTResponseModel.java (91%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationDsGateway.java (81%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationInputBoundary.java (83%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationInteractor.java (97%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationPresenter.java (88%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationRequestModel.java (96%) rename src/main/java/{ => use_cases/course_features}/course_creation_use_case/CourseCreationResponseModel.java (94%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentDsGateway.java (83%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentInputBoundary.java (71%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentInteractor.java (97%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentPresenter.java (89%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentRequestModel.java (94%) rename src/main/java/{ => use_cases/course_features}/course_enrolment_use_case/CourseEnrolmentResponseModel.java (91%) rename src/main/java/{ => use_cases/course_tracker}/progress_tracker_use_case/ProgressTrackerInputBoundary.java (81%) rename src/main/java/{ => use_cases/course_tracker}/progress_tracker_use_case/ProgressTrackerInteractor.java (99%) rename src/main/java/{ => use_cases/course_tracker}/progress_tracker_use_case/ProgressTrackerOutputBoundary.java (83%) rename src/main/java/{ => use_cases/course_tracker}/progress_tracker_use_case/ProgressTrackerRequestModel.java (97%) rename src/main/java/{ => use_cases/course_tracker}/progress_tracker_use_case/ProgressTrackerResponseModel.java (94%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginGateway.java (81%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginInputBoundary.java (77%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginInteractor.java (89%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginPresenter.java (75%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginRequestModel.java (92%) rename src/main/java/{ => use_cases/login_registration}/login_usecase/LoginResponseModel.java (93%) rename src/main/java/{ => use_cases/login_registration}/logout_usecase/LogoutGateway.java (67%) rename src/main/java/{ => use_cases/login_registration}/logout_usecase/LogoutInputBoundary.java (83%) rename src/main/java/{ => use_cases/login_registration}/logout_usecase/LogoutInteractor.java (86%) rename src/main/java/{ => use_cases/login_registration}/logout_usecase/LogoutPresenter.java (79%) create mode 100644 src/main/java/use_cases/login_registration/logout_usecase/LogoutRequestModel.java rename src/main/java/{ => use_cases/login_registration}/logout_usecase/LogoutResponseModel.java (92%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/InstructorSaveRequest.java (94%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/StudentSaveRequest.java (97%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegGateway.java (87%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegInputBoundary.java (84%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegInteractor.java (97%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegPresenter.java (86%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegRequest.java (96%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegResponse.java (92%) rename src/main/java/{ => use_cases/login_registration}/user_register_usecase/UserRegSaveRequest.java (95%) rename src/main/java/{ => use_cases/task_management}/assignment_creation_use_case/AssignmentCreationInputBoundary.java (69%) rename src/main/java/{ => use_cases/task_management}/assignment_creation_use_case/AssignmentCreationInteractor.java (91%) rename src/main/java/{ => use_cases/task_management}/assignment_creation_use_case/AssignmentCreationPresenter.java (77%) rename src/main/java/{ => use_cases/task_management}/assignment_creation_use_case/AssignmentCreationRequestModel.java (91%) rename src/main/java/{ => use_cases/task_management}/assignment_creation_use_case/AssignmentCreationResponseModel.java (81%) rename src/main/java/{ => use_cases/task_management}/assignment_edit_use_case/AssignmentEditInputBoundary.java (68%) rename src/main/java/{ => use_cases/task_management}/assignment_edit_use_case/AssignmentEditInteractor.java (93%) rename src/main/java/{ => use_cases/task_management}/assignment_edit_use_case/AssignmentEditPresenter.java (77%) rename src/main/java/{ => use_cases/task_management}/assignment_edit_use_case/AssignmentEditRequestModel.java (93%) rename src/main/java/{ => use_cases/task_management}/assignment_edit_use_case/AssignmentEditResponseModel.java (71%) rename src/main/java/{ => use_cases/task_management}/event_creation_use_case/EventCreationInputBoundary.java (68%) rename src/main/java/{ => use_cases/task_management}/event_creation_use_case/EventCreationInteractor.java (82%) rename src/main/java/{ => use_cases/task_management}/event_creation_use_case/EventCreationPresenter.java (76%) rename src/main/java/{ => use_cases/task_management}/event_creation_use_case/EventCreationRequestModel.java (94%) rename src/main/java/{ => use_cases/task_management}/event_creation_use_case/EventCreationResponseModel.java (86%) rename src/main/java/{ => use_cases/task_management}/event_edit_use_case/EventEditInputBoundary.java (67%) rename src/main/java/{ => use_cases/task_management}/event_edit_use_case/EventEditInteractor.java (94%) rename src/main/java/{ => use_cases/task_management}/event_edit_use_case/EventEditPresenter.java (76%) rename src/main/java/{ => use_cases/task_management}/event_edit_use_case/EventEditRequestModel.java (95%) rename src/main/java/{ => use_cases/task_management}/event_edit_use_case/EventEditResponseModel.java (73%) rename src/main/java/{ => use_cases/task_management}/read_write/ReadWriter.java (89%) rename src/main/java/{ => use_cases/task_management}/read_write/TaskReadWrite.java (95%) rename src/main/java/{ => use_cases/task_management}/task_deletion_use_case/TaskDeletionInputBoundary.java (67%) rename src/main/java/{ => use_cases/task_management}/task_deletion_use_case/TaskDeletionInteractor.java (91%) rename src/main/java/{ => use_cases/task_management}/task_deletion_use_case/TaskDeletionPresenter.java (76%) rename src/main/java/{ => use_cases/task_management}/task_deletion_use_case/TaskDeletionRequestModel.java (92%) rename src/main/java/{ => use_cases/task_management}/task_deletion_use_case/TaskDeletionResponseModel.java (73%) rename src/main/java/{ => use_cases/task_management}/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java (69%) create mode 100644 src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java rename src/main/java/{ => use_cases/task_management}/test_creation_use_case/TestCreationInputBoundary.java (66%) rename src/main/java/{ => use_cases/task_management}/test_creation_use_case/TestCreationInteractor.java (92%) rename src/main/java/{ => use_cases/task_management}/test_creation_use_case/TestCreationPresenter.java (76%) rename src/main/java/{ => use_cases/task_management}/test_creation_use_case/TestCreationRequestModel.java (93%) rename src/main/java/{ => use_cases/task_management}/test_creation_use_case/TestCreationResponseModel.java (76%) rename src/main/java/{ => use_cases/task_management}/test_edit_use_case/TestEditInputBoundary.java (67%) rename src/main/java/{ => use_cases/task_management}/test_edit_use_case/TestEditInteractor.java (93%) rename src/main/java/{ => use_cases/task_management}/test_edit_use_case/TestEditPresenter.java (76%) rename src/main/java/{ => use_cases/task_management}/test_edit_use_case/TestEditRequestModel.java (95%) rename src/main/java/{ => use_cases/task_management}/test_edit_use_case/TestEditResponseModel.java (72%) create mode 100644 src/test/java/progress_tracker_use_case/ProgressTrackerTest.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index d71ac98..e506a76 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,17 +1,18 @@ -import course_creation_use_case.*; import entities.*; -import event_creation_screens.*; -import event_creation_use_case.*; -import login_usecase.*; -import progress_tracker_use_case.*; -import scheduling_ct_screens.*; -import scheduling_ct_use_case.ScheduleCTInputBoundary; -import scheduling_ct_use_case.ScheduleCTInteractor; -import scheduling_ct_use_case.ScheduleCTOutputBoundary; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import scheduler_use_case.SchedulerPresenter; import screens.*; -import user_register_usecase.*; +import screens.calendar_scheduler.*; +import screens.course_progress.*; +import screens.courses_features.*; +import screens.login_registration.*; +import screens.task_management.event_creation_screens.*; +import use_cases.course_features.course_creation_use_case.*; +import use_cases.course_tracker.progress_tracker_use_case.*; +import screens.collaborative_task_scheduling.*; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.*; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictPresenter; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerPresenter; +import use_cases.login_registration.user_register_usecase.*; +import use_cases.task_management.event_creation_use_case.*; import javax.swing.*; import java.awt.*; @@ -50,7 +51,7 @@ public static void main(String[] args) { EventCreationController eventCreationController = new EventCreationController(eventInteractor); ProgressTrackerOutputBoundary trackerPresenter = new ProgressTrackerPresenter(); - ProgressTrackerInputBoundary trackerInteractor = new ProgressTrackerInteractor (trackerPresenter); + ProgressTrackerInputBoundary trackerInteractor = new ProgressTrackerInteractor(trackerPresenter); ProgressTrackerController trackerController = new ProgressTrackerController(trackerInteractor, user, "", allTasks, allUsers, allCourses); ScheduleCTViewInterface presentOutputInterface = new ScheduleCTView(cardLayout, screens); @@ -60,7 +61,7 @@ public static void main(String[] args) { CourseCreationDsGateway course; try { - course = new FileCourse("./courses.csv"); + course = new FileCourse("./src/main/java/data/courses.csv"); } catch (IOException e) { throw new RuntimeException("Could not create file."); } diff --git a/src/main/java/data/courses.csv b/src/main/java/data/courses.csv new file mode 100644 index 0000000..122444c --- /dev/null +++ b/src/main/java/data/courses.csv @@ -0,0 +1 @@ +course_name,course_instructor,tasks? diff --git a/src/main/java/entities/TaskMap.java b/src/main/java/entities/TaskMap.java index 6885bae..37f0e77 100644 --- a/src/main/java/entities/TaskMap.java +++ b/src/main/java/entities/TaskMap.java @@ -1,6 +1,6 @@ package entities; -import read_write.ReadWriter; +import use_cases.task_management.read_write.ReadWriter; import java.io.IOException; import java.io.Serializable; diff --git a/src/main/java/logout_usecase/LogoutRequestModel.java b/src/main/java/logout_usecase/LogoutRequestModel.java deleted file mode 100644 index bd63aed..0000000 --- a/src/main/java/logout_usecase/LogoutRequestModel.java +++ /dev/null @@ -1,4 +0,0 @@ -package logout_usecase; - -public class LogoutRequestModel { -} diff --git a/src/main/java/scheduling_ct_screens/LabelTextPanel.java b/src/main/java/scheduling_ct_screens/LabelTextPanel.java deleted file mode 100644 index ee7f894..0000000 --- a/src/main/java/scheduling_ct_screens/LabelTextPanel.java +++ /dev/null @@ -1,22 +0,0 @@ -package scheduling_ct_screens; - -import javax.swing.*; - -// Frameworks/Drivers layer - -/** - * UI helper class that creates labeled text panel - */ - -public class LabelTextPanel extends JPanel { - - /** - * Creates a labeled text panel - * @param label - the label - * @param textField - the text field associated with the label - */ - public LabelTextPanel(JLabel label, JTextField textField) { - this.add(label); - this.add(textField); - } -} \ No newline at end of file diff --git a/src/main/java/screens/CalendarScreen.java b/src/main/java/screens/calendar_scheduler/CalendarScreen.java similarity index 99% rename from src/main/java/screens/CalendarScreen.java rename to src/main/java/screens/calendar_scheduler/CalendarScreen.java index 3ce79dc..52c2e4b 100644 --- a/src/main/java/screens/CalendarScreen.java +++ b/src/main/java/screens/calendar_scheduler/CalendarScreen.java @@ -1,4 +1,4 @@ -package screens; +package screens.calendar_scheduler; import entities.StudentUser; import entities.Task; diff --git a/src/main/java/screens/DayViewPanel.java b/src/main/java/screens/calendar_scheduler/DayViewPanel.java similarity index 99% rename from src/main/java/screens/DayViewPanel.java rename to src/main/java/screens/calendar_scheduler/DayViewPanel.java index b7d34ea..53076d3 100644 --- a/src/main/java/screens/DayViewPanel.java +++ b/src/main/java/screens/calendar_scheduler/DayViewPanel.java @@ -1,4 +1,4 @@ -package screens; +package screens.calendar_scheduler; import entities.StudentUser; import entities.Task; diff --git a/src/main/java/screens/MonthViewPanel.java b/src/main/java/screens/calendar_scheduler/MonthViewPanel.java similarity index 99% rename from src/main/java/screens/MonthViewPanel.java rename to src/main/java/screens/calendar_scheduler/MonthViewPanel.java index 37a8a49..3f5e5f5 100644 --- a/src/main/java/screens/MonthViewPanel.java +++ b/src/main/java/screens/calendar_scheduler/MonthViewPanel.java @@ -1,4 +1,4 @@ -package screens; +package screens.calendar_scheduler; import entities.Assignment; import entities.Event; diff --git a/src/main/java/screens/ScheduleConflictResponseFormatter.java b/src/main/java/screens/calendar_scheduler/ScheduleConflictResponseFormatter.java similarity index 74% rename from src/main/java/screens/ScheduleConflictResponseFormatter.java rename to src/main/java/screens/calendar_scheduler/ScheduleConflictResponseFormatter.java index 22347ac..c3a9010 100644 --- a/src/main/java/screens/ScheduleConflictResponseFormatter.java +++ b/src/main/java/screens/calendar_scheduler/ScheduleConflictResponseFormatter.java @@ -1,9 +1,9 @@ -package screens; +package screens.calendar_scheduler; import entities.Task; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import schedule_conflict_use_case.ScheduleConflictRequestModel; -import schedule_conflict_use_case.ScheduleConflictResponseModel; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictPresenter; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictRequestModel; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictResponseModel; import javax.swing.*; diff --git a/src/main/java/screens/SchedulerResponseFormatter.java b/src/main/java/screens/calendar_scheduler/SchedulerResponseFormatter.java similarity index 81% rename from src/main/java/screens/SchedulerResponseFormatter.java rename to src/main/java/screens/calendar_scheduler/SchedulerResponseFormatter.java index 82a7cf6..eec353f 100644 --- a/src/main/java/screens/SchedulerResponseFormatter.java +++ b/src/main/java/screens/calendar_scheduler/SchedulerResponseFormatter.java @@ -1,8 +1,8 @@ -package screens; +package screens.calendar_scheduler; import entities.Task; -import scheduler_use_case.SchedulerPresenter; -import scheduler_use_case.SchedulerResponseModel; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerPresenter; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerResponseModel; import javax.swing.*; diff --git a/src/main/java/screens/WeekViewPanel.java b/src/main/java/screens/calendar_scheduler/WeekViewPanel.java similarity index 99% rename from src/main/java/screens/WeekViewPanel.java rename to src/main/java/screens/calendar_scheduler/WeekViewPanel.java index 6c17160..3ca5aa2 100644 --- a/src/main/java/screens/WeekViewPanel.java +++ b/src/main/java/screens/calendar_scheduler/WeekViewPanel.java @@ -1,4 +1,4 @@ -package screens; +package screens.calendar_scheduler; import entities.StudentUser; import entities.Task; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTController.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTController.java similarity index 83% rename from src/main/java/scheduling_ct_screens/ScheduleCTController.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTController.java index 0189815..2b85a3b 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTController.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTController.java @@ -1,7 +1,9 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; import entities.StudentUser; import entities.Task; -import scheduling_ct_use_case.*; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.ScheduleCTInputBoundary; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.ScheduleCTRequestModel; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.ScheduleCTResponseModel; import java.util.HashMap; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTFormatter.java similarity index 91% rename from src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTFormatter.java index 2c0d11d..e3ebf91 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTFormatter.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTFormatter.java @@ -1,4 +1,4 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; import java.util.ArrayList; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTPresenter.java similarity index 86% rename from src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTPresenter.java index d4cce5e..2b9e133 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTPresenter.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTPresenter.java @@ -1,5 +1,6 @@ -package scheduling_ct_screens; -import scheduling_ct_use_case.*; +package screens.collaborative_task_scheduling; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.ScheduleCTOutputBoundary; +import use_cases.collaborative_task_scheduling.scheduling_ct_use_case.ScheduleCTResponseModel; import java.util.ArrayList; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTScreen.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTScreen.java similarity index 97% rename from src/main/java/scheduling_ct_screens/ScheduleCTScreen.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTScreen.java index ba1dc01..cc9e94e 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTScreen.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTScreen.java @@ -1,4 +1,6 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; + +import screens.LabelTextPanel; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTView.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTView.java similarity index 97% rename from src/main/java/scheduling_ct_screens/ScheduleCTView.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTView.java index aeb6183..34264fb 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTView.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTView.java @@ -1,4 +1,4 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTViewInterface.java similarity index 90% rename from src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java rename to src/main/java/screens/collaborative_task_scheduling/ScheduleCTViewInterface.java index b223917..ac2ecac 100644 --- a/src/main/java/scheduling_ct_screens/ScheduleCTViewInterface.java +++ b/src/main/java/screens/collaborative_task_scheduling/ScheduleCTViewInterface.java @@ -1,4 +1,4 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; /** diff --git a/src/main/java/scheduling_ct_screens/SchedulingTimesFailed.java b/src/main/java/screens/collaborative_task_scheduling/SchedulingTimesFailed.java similarity index 74% rename from src/main/java/scheduling_ct_screens/SchedulingTimesFailed.java rename to src/main/java/screens/collaborative_task_scheduling/SchedulingTimesFailed.java index 758bd09..c710934 100644 --- a/src/main/java/scheduling_ct_screens/SchedulingTimesFailed.java +++ b/src/main/java/screens/collaborative_task_scheduling/SchedulingTimesFailed.java @@ -1,4 +1,4 @@ -package scheduling_ct_screens; +package screens.collaborative_task_scheduling; public class SchedulingTimesFailed extends RuntimeException{ public SchedulingTimesFailed(String error){ diff --git a/src/main/java/screens/ProgressTrackerController.java b/src/main/java/screens/course_progress/ProgressTrackerController.java similarity index 83% rename from src/main/java/screens/ProgressTrackerController.java rename to src/main/java/screens/course_progress/ProgressTrackerController.java index 1436eec..a4368e5 100644 --- a/src/main/java/screens/ProgressTrackerController.java +++ b/src/main/java/screens/course_progress/ProgressTrackerController.java @@ -1,11 +1,11 @@ -package screens; +package screens.course_progress; import entities.Course; import entities.Task; import entities.User; -import progress_tracker_use_case.ProgressTrackerInputBoundary; -import progress_tracker_use_case.ProgressTrackerRequestModel; -import progress_tracker_use_case.ProgressTrackerResponseModel; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerInputBoundary; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerRequestModel; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerResponseModel; import java.util.HashMap; diff --git a/src/main/java/screens/ProgressTrackerPresenter.java b/src/main/java/screens/course_progress/ProgressTrackerPresenter.java similarity index 87% rename from src/main/java/screens/ProgressTrackerPresenter.java rename to src/main/java/screens/course_progress/ProgressTrackerPresenter.java index ffffbe2..347752b 100644 --- a/src/main/java/screens/ProgressTrackerPresenter.java +++ b/src/main/java/screens/course_progress/ProgressTrackerPresenter.java @@ -1,7 +1,7 @@ -package screens; +package screens.course_progress; -import progress_tracker_use_case.ProgressTrackerOutputBoundary; -import progress_tracker_use_case.ProgressTrackerResponseModel; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerOutputBoundary; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerResponseModel; /** * Presenter for the Progress Tracker Use Case diff --git a/src/main/java/screens/ProgressTrackerScreen.java b/src/main/java/screens/course_progress/ProgressTrackerScreen.java similarity index 95% rename from src/main/java/screens/ProgressTrackerScreen.java rename to src/main/java/screens/course_progress/ProgressTrackerScreen.java index 0499963..44a5b3a 100644 --- a/src/main/java/screens/ProgressTrackerScreen.java +++ b/src/main/java/screens/course_progress/ProgressTrackerScreen.java @@ -1,6 +1,7 @@ -package screens; +package screens.course_progress; -import progress_tracker_use_case.ProgressTrackerResponseModel; +import screens.LabelTextPanel; +import use_cases.course_tracker.progress_tracker_use_case.ProgressTrackerResponseModel; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/screens/ProgressTrackingFail.java b/src/main/java/screens/course_progress/ProgressTrackingFail.java similarity index 86% rename from src/main/java/screens/ProgressTrackingFail.java rename to src/main/java/screens/course_progress/ProgressTrackingFail.java index 12bf46c..69fee05 100644 --- a/src/main/java/screens/ProgressTrackingFail.java +++ b/src/main/java/screens/course_progress/ProgressTrackingFail.java @@ -1,4 +1,4 @@ -package screens; +package screens.course_progress; /** * New Exception type for the Progress Tracker Use Case diff --git a/src/main/java/screens/CourseCreationController.java b/src/main/java/screens/courses_features/CourseCreationController.java similarity index 66% rename from src/main/java/screens/CourseCreationController.java rename to src/main/java/screens/courses_features/CourseCreationController.java index 7c5efd8..f41d078 100644 --- a/src/main/java/screens/CourseCreationController.java +++ b/src/main/java/screens/courses_features/CourseCreationController.java @@ -1,8 +1,8 @@ -package screens; +package screens.courses_features; -import course_creation_use_case.CourseCreationInputBoundary; -import course_creation_use_case.CourseCreationRequestModel; -import course_creation_use_case.CourseCreationResponseModel; +import use_cases.course_features.course_creation_use_case.CourseCreationInputBoundary; +import use_cases.course_features.course_creation_use_case.CourseCreationRequestModel; +import use_cases.course_features.course_creation_use_case.CourseCreationResponseModel; import java.util.ArrayList; diff --git a/src/main/java/screens/CourseCreationFailed.java b/src/main/java/screens/courses_features/CourseCreationFailed.java similarity index 80% rename from src/main/java/screens/CourseCreationFailed.java rename to src/main/java/screens/courses_features/CourseCreationFailed.java index 319602a..87a422c 100644 --- a/src/main/java/screens/CourseCreationFailed.java +++ b/src/main/java/screens/courses_features/CourseCreationFailed.java @@ -1,4 +1,4 @@ -package screens; +package screens.courses_features; public class CourseCreationFailed extends RuntimeException { public CourseCreationFailed(String error) { diff --git a/src/main/java/screens/CourseCreationResponseFormatter.java b/src/main/java/screens/courses_features/CourseCreationResponseFormatter.java similarity index 77% rename from src/main/java/screens/CourseCreationResponseFormatter.java rename to src/main/java/screens/courses_features/CourseCreationResponseFormatter.java index 55b7e1f..ea19ce8 100644 --- a/src/main/java/screens/CourseCreationResponseFormatter.java +++ b/src/main/java/screens/courses_features/CourseCreationResponseFormatter.java @@ -1,9 +1,9 @@ -package screens; +package screens.courses_features; // Interface adapters layer -import course_creation_use_case.CourseCreationPresenter; -import course_creation_use_case.CourseCreationResponseModel; +import use_cases.course_features.course_creation_use_case.CourseCreationPresenter; +import use_cases.course_features.course_creation_use_case.CourseCreationResponseModel; import javax.swing.*; diff --git a/src/main/java/screens/CourseCreationScreen.java b/src/main/java/screens/courses_features/CourseCreationScreen.java similarity index 98% rename from src/main/java/screens/CourseCreationScreen.java rename to src/main/java/screens/courses_features/CourseCreationScreen.java index 74eca2c..4ee988c 100644 --- a/src/main/java/screens/CourseCreationScreen.java +++ b/src/main/java/screens/courses_features/CourseCreationScreen.java @@ -1,7 +1,9 @@ -package screens; +package screens.courses_features; // Framework / Drivers layer +import screens.LabelTextPanel; + import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; diff --git a/src/main/java/screens/CourseEnrolmentController.java b/src/main/java/screens/courses_features/CourseEnrolmentController.java similarity index 64% rename from src/main/java/screens/CourseEnrolmentController.java rename to src/main/java/screens/courses_features/CourseEnrolmentController.java index a1583cb..124ce8b 100644 --- a/src/main/java/screens/CourseEnrolmentController.java +++ b/src/main/java/screens/courses_features/CourseEnrolmentController.java @@ -1,8 +1,8 @@ -package screens; +package screens.courses_features; -import course_enrolment_use_case.CourseEnrolmentInputBoundary; -import course_enrolment_use_case.CourseEnrolmentRequestModel; -import course_enrolment_use_case.CourseEnrolmentResponseModel; +import use_cases.course_features.course_enrolment_use_case.CourseEnrolmentInputBoundary; +import use_cases.course_features.course_enrolment_use_case.CourseEnrolmentRequestModel; +import use_cases.course_features.course_enrolment_use_case.CourseEnrolmentResponseModel; public class CourseEnrolmentController { final CourseEnrolmentInputBoundary enrolmentInput; diff --git a/src/main/java/screens/CourseEnrolmentFailed.java b/src/main/java/screens/courses_features/CourseEnrolmentFailed.java similarity index 80% rename from src/main/java/screens/CourseEnrolmentFailed.java rename to src/main/java/screens/courses_features/CourseEnrolmentFailed.java index c42ca10..42b2f9d 100644 --- a/src/main/java/screens/CourseEnrolmentFailed.java +++ b/src/main/java/screens/courses_features/CourseEnrolmentFailed.java @@ -1,4 +1,4 @@ -package screens; +package screens.courses_features; public class CourseEnrolmentFailed extends RuntimeException { public CourseEnrolmentFailed(String error) { diff --git a/src/main/java/screens/CourseEnrolmentResponseFormatter.java b/src/main/java/screens/courses_features/CourseEnrolmentResponseFormatter.java similarity index 79% rename from src/main/java/screens/CourseEnrolmentResponseFormatter.java rename to src/main/java/screens/courses_features/CourseEnrolmentResponseFormatter.java index a7fa05d..66fb903 100644 --- a/src/main/java/screens/CourseEnrolmentResponseFormatter.java +++ b/src/main/java/screens/courses_features/CourseEnrolmentResponseFormatter.java @@ -1,9 +1,9 @@ -package screens; +package screens.courses_features; // Interfaces adapters layer -import course_enrolment_use_case.CourseEnrolmentPresenter; -import course_enrolment_use_case.CourseEnrolmentResponseModel; +import use_cases.course_features.course_enrolment_use_case.CourseEnrolmentPresenter; +import use_cases.course_features.course_enrolment_use_case.CourseEnrolmentResponseModel; import javax.swing.*; diff --git a/src/main/java/screens/CourseEnrolmentScreen.java b/src/main/java/screens/courses_features/CourseEnrolmentScreen.java similarity index 97% rename from src/main/java/screens/CourseEnrolmentScreen.java rename to src/main/java/screens/courses_features/CourseEnrolmentScreen.java index 5c3dc59..e3fd3c8 100644 --- a/src/main/java/screens/CourseEnrolmentScreen.java +++ b/src/main/java/screens/courses_features/CourseEnrolmentScreen.java @@ -1,7 +1,9 @@ -package screens; +package screens.courses_features; // Framework/Drivers layer +import screens.LabelTextPanel; + import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; diff --git a/src/main/java/screens/CourseFoundScreen.java b/src/main/java/screens/courses_features/CourseFoundScreen.java similarity index 96% rename from src/main/java/screens/CourseFoundScreen.java rename to src/main/java/screens/courses_features/CourseFoundScreen.java index 369c132..cf404b9 100644 --- a/src/main/java/screens/CourseFoundScreen.java +++ b/src/main/java/screens/courses_features/CourseFoundScreen.java @@ -1,4 +1,4 @@ -package screens; +package screens.courses_features; // Framework/Driver layer diff --git a/src/main/java/screens/FileCourse.java b/src/main/java/screens/courses_features/FileCourse.java similarity index 96% rename from src/main/java/screens/FileCourse.java rename to src/main/java/screens/courses_features/FileCourse.java index 858b0ac..b9436b2 100644 --- a/src/main/java/screens/FileCourse.java +++ b/src/main/java/screens/courses_features/FileCourse.java @@ -1,8 +1,8 @@ -package screens; +package screens.courses_features; -import course_creation_use_case.CourseCreationDsGateway; +import use_cases.course_features.course_creation_use_case.CourseCreationDsGateway; //import course_creation_use_case.courseCreationDsRequestModel; -import course_creation_use_case.CourseCreationRequestModel; +import use_cases.course_features.course_creation_use_case.CourseCreationRequestModel; /* * Notes: diff --git a/src/main/java/screens/InMemoryCourse.java b/src/main/java/screens/courses_features/InMemoryCourse.java similarity index 76% rename from src/main/java/screens/InMemoryCourse.java rename to src/main/java/screens/courses_features/InMemoryCourse.java index 70f14b2..46b6b91 100644 --- a/src/main/java/screens/InMemoryCourse.java +++ b/src/main/java/screens/courses_features/InMemoryCourse.java @@ -1,7 +1,7 @@ -package screens; +package screens.courses_features; -import course_creation_use_case.CourseCreationDsGateway; -import course_creation_use_case.CourseCreationRequestModel; +import use_cases.course_features.course_creation_use_case.CourseCreationDsGateway; +import use_cases.course_features.course_creation_use_case.CourseCreationRequestModel; import java.util.HashMap; diff --git a/src/main/java/screens/FileUser.java b/src/main/java/screens/login_registration/FileUser.java similarity index 89% rename from src/main/java/screens/FileUser.java rename to src/main/java/screens/login_registration/FileUser.java index 180faf1..724b14f 100644 --- a/src/main/java/screens/FileUser.java +++ b/src/main/java/screens/login_registration/FileUser.java @@ -1,15 +1,12 @@ -package screens; +package screens.login_registration; -import login_usecase.LoginGateway; -import logout_usecase.LogoutGateway; -import user_register_usecase.UserRegGateway; -import user_register_usecase.UserRegSaveRequest; +import use_cases.login_registration.login_usecase.LoginGateway; +import use_cases.login_registration.logout_usecase.LogoutGateway; +import use_cases.login_registration.user_register_usecase.UserRegGateway; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; import java.io.*; -import java.security.KeyException; -import java.time.LocalDateTime; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; public class FileUser implements UserRegGateway, LoginGateway, LogoutGateway { diff --git a/src/main/java/screens/InMemoryUser.java b/src/main/java/screens/login_registration/InMemoryUser.java similarity index 77% rename from src/main/java/screens/InMemoryUser.java rename to src/main/java/screens/login_registration/InMemoryUser.java index 9836532..3dbdf06 100644 --- a/src/main/java/screens/InMemoryUser.java +++ b/src/main/java/screens/login_registration/InMemoryUser.java @@ -1,8 +1,8 @@ -package screens; +package screens.login_registration; -import login_usecase.LoginGateway; -import user_register_usecase.UserRegSaveRequest; -import user_register_usecase.UserRegGateway; +import use_cases.login_registration.login_usecase.LoginGateway; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; +import use_cases.login_registration.user_register_usecase.UserRegGateway; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/screens/LoggedInScreen.java b/src/main/java/screens/login_registration/LoggedInScreen.java similarity index 94% rename from src/main/java/screens/LoggedInScreen.java rename to src/main/java/screens/login_registration/LoggedInScreen.java index a5234af..157f90b 100644 --- a/src/main/java/screens/LoggedInScreen.java +++ b/src/main/java/screens/login_registration/LoggedInScreen.java @@ -1,4 +1,6 @@ -package screens; +package screens.login_registration; + +import screens.LabelTextPanel; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/screens/LoginController.java b/src/main/java/screens/login_registration/LoginController.java similarity index 62% rename from src/main/java/screens/LoginController.java rename to src/main/java/screens/login_registration/LoginController.java index 0d6c356..08d8fa9 100644 --- a/src/main/java/screens/LoginController.java +++ b/src/main/java/screens/login_registration/LoginController.java @@ -1,8 +1,8 @@ -package screens; +package screens.login_registration; -import login_usecase.LoginInputBoundary; -import login_usecase.LoginRequestModel; -import login_usecase.LoginResponseModel; +import use_cases.login_registration.login_usecase.LoginInputBoundary; +import use_cases.login_registration.login_usecase.LoginRequestModel; +import use_cases.login_registration.login_usecase.LoginResponseModel; // Interface adapters layer diff --git a/src/main/java/screens/LoginFailed.java b/src/main/java/screens/login_registration/LoginFailed.java similarity index 76% rename from src/main/java/screens/LoginFailed.java rename to src/main/java/screens/login_registration/LoginFailed.java index 4d513dd..7196603 100644 --- a/src/main/java/screens/LoginFailed.java +++ b/src/main/java/screens/login_registration/LoginFailed.java @@ -1,4 +1,4 @@ -package screens; +package screens.login_registration; public class LoginFailed extends Throwable { public LoginFailed(String error) { diff --git a/src/main/java/screens/LoginResponseFormatter.java b/src/main/java/screens/login_registration/LoginResponseFormatter.java similarity index 77% rename from src/main/java/screens/LoginResponseFormatter.java rename to src/main/java/screens/login_registration/LoginResponseFormatter.java index 349908b..b780b2e 100644 --- a/src/main/java/screens/LoginResponseFormatter.java +++ b/src/main/java/screens/login_registration/LoginResponseFormatter.java @@ -1,8 +1,7 @@ -package screens; +package screens.login_registration; -import login_usecase.LoginPresenter; -import login_usecase.LoginResponseModel; -import user_register_usecase.UserRegResponse; +import use_cases.login_registration.login_usecase.LoginPresenter; +import use_cases.login_registration.login_usecase.LoginResponseModel; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/screens/LoginScreen.java b/src/main/java/screens/login_registration/LoginScreen.java similarity index 96% rename from src/main/java/screens/LoginScreen.java rename to src/main/java/screens/login_registration/LoginScreen.java index 8491ce2..555232c 100644 --- a/src/main/java/screens/LoginScreen.java +++ b/src/main/java/screens/login_registration/LoginScreen.java @@ -1,4 +1,6 @@ -package screens; +package screens.login_registration; + +import screens.LabelTextPanel; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/screens/LogoutController.java b/src/main/java/screens/login_registration/LogoutController.java similarity index 62% rename from src/main/java/screens/LogoutController.java rename to src/main/java/screens/login_registration/LogoutController.java index e4b3efe..ab42e48 100644 --- a/src/main/java/screens/LogoutController.java +++ b/src/main/java/screens/login_registration/LogoutController.java @@ -1,8 +1,8 @@ -package screens; +package screens.login_registration; -import logout_usecase.LogoutInputBoundary; -import logout_usecase.LogoutRequestModel; -import logout_usecase.LogoutResponseModel; +import use_cases.login_registration.logout_usecase.LogoutInputBoundary; +import use_cases.login_registration.logout_usecase.LogoutRequestModel; +import use_cases.login_registration.logout_usecase.LogoutResponseModel; import java.io.IOException; diff --git a/src/main/java/screens/RegisterScreen.java b/src/main/java/screens/login_registration/RegisterScreen.java similarity index 98% rename from src/main/java/screens/RegisterScreen.java rename to src/main/java/screens/login_registration/RegisterScreen.java index b379eb5..3679d6d 100644 --- a/src/main/java/screens/RegisterScreen.java +++ b/src/main/java/screens/login_registration/RegisterScreen.java @@ -1,4 +1,6 @@ -package screens; +package screens.login_registration; + +import screens.LabelTextPanel; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/screens/UserCreationFailed.java b/src/main/java/screens/login_registration/UserCreationFailed.java similarity index 79% rename from src/main/java/screens/UserCreationFailed.java rename to src/main/java/screens/login_registration/UserCreationFailed.java index af28fcb..5b8cdf2 100644 --- a/src/main/java/screens/UserCreationFailed.java +++ b/src/main/java/screens/login_registration/UserCreationFailed.java @@ -1,4 +1,4 @@ -package screens; +package screens.login_registration; public class UserCreationFailed extends RuntimeException { public UserCreationFailed(String error) { diff --git a/src/main/java/screens/UserRegController.java b/src/main/java/screens/login_registration/UserRegController.java similarity index 64% rename from src/main/java/screens/UserRegController.java rename to src/main/java/screens/login_registration/UserRegController.java index 130496d..2d7f5ad 100644 --- a/src/main/java/screens/UserRegController.java +++ b/src/main/java/screens/login_registration/UserRegController.java @@ -1,8 +1,8 @@ -package screens; +package screens.login_registration; -import user_register_usecase.UserRegInputBoundary; -import user_register_usecase.UserRegRequest; -import user_register_usecase.UserRegResponse; +import use_cases.login_registration.user_register_usecase.UserRegInputBoundary; +import use_cases.login_registration.user_register_usecase.UserRegRequest; +import use_cases.login_registration.user_register_usecase.UserRegResponse; import java.io.IOException; diff --git a/src/main/java/screens/UserRegResponseFormatter.java b/src/main/java/screens/login_registration/UserRegResponseFormatter.java similarity index 76% rename from src/main/java/screens/UserRegResponseFormatter.java rename to src/main/java/screens/login_registration/UserRegResponseFormatter.java index dc94d38..2c16ee0 100644 --- a/src/main/java/screens/UserRegResponseFormatter.java +++ b/src/main/java/screens/login_registration/UserRegResponseFormatter.java @@ -1,7 +1,7 @@ -package screens; +package screens.login_registration; -import user_register_usecase.UserRegPresenter; -import user_register_usecase.UserRegResponse; +import use_cases.login_registration.user_register_usecase.UserRegPresenter; +import use_cases.login_registration.user_register_usecase.UserRegResponse; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/assignment_creation_screens/AssignmentCreationController.java b/src/main/java/screens/task_management/assignment_creation_screens/AssignmentCreationController.java similarity index 61% rename from src/main/java/assignment_creation_screens/AssignmentCreationController.java rename to src/main/java/screens/task_management/assignment_creation_screens/AssignmentCreationController.java index 85ed49c..c7324f5 100644 --- a/src/main/java/assignment_creation_screens/AssignmentCreationController.java +++ b/src/main/java/screens/task_management/assignment_creation_screens/AssignmentCreationController.java @@ -1,8 +1,8 @@ -package assignment_creation_screens; +package screens.task_management.assignment_creation_screens; -import assignment_creation_use_case.AssignmentCreationInputBoundary; -import assignment_creation_use_case.AssignmentCreationRequestModel; -import assignment_creation_use_case.AssignmentCreationResponseModel; +import use_cases.task_management.assignment_creation_use_case.AssignmentCreationInputBoundary; +import use_cases.task_management.assignment_creation_use_case.AssignmentCreationRequestModel; +import use_cases.task_management.assignment_creation_use_case.AssignmentCreationResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/assignment_edit_screens/AssignmentEditController.java b/src/main/java/screens/task_management/assignment_edit_screens/AssignmentEditController.java similarity index 64% rename from src/main/java/assignment_edit_screens/AssignmentEditController.java rename to src/main/java/screens/task_management/assignment_edit_screens/AssignmentEditController.java index 570db7a..15052fe 100644 --- a/src/main/java/assignment_edit_screens/AssignmentEditController.java +++ b/src/main/java/screens/task_management/assignment_edit_screens/AssignmentEditController.java @@ -1,9 +1,9 @@ -package assignment_edit_screens; +package screens.task_management.assignment_edit_screens; import entities.Assignment; -import assignment_edit_use_case.AssignmentEditInputBoundary; -import assignment_edit_use_case.AssignmentEditRequestModel; -import assignment_edit_use_case.AssignmentEditResponseModel; +import use_cases.task_management.assignment_edit_use_case.AssignmentEditInputBoundary; +import use_cases.task_management.assignment_edit_use_case.AssignmentEditRequestModel; +import use_cases.task_management.assignment_edit_use_case.AssignmentEditResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/event_creation_screens/EventCreationController.java b/src/main/java/screens/task_management/event_creation_screens/EventCreationController.java similarity index 66% rename from src/main/java/event_creation_screens/EventCreationController.java rename to src/main/java/screens/task_management/event_creation_screens/EventCreationController.java index 1d26d44..f7a8254 100644 --- a/src/main/java/event_creation_screens/EventCreationController.java +++ b/src/main/java/screens/task_management/event_creation_screens/EventCreationController.java @@ -1,8 +1,8 @@ -package event_creation_screens; +package screens.task_management.event_creation_screens; -import event_creation_use_case.EventCreationInputBoundary; -import event_creation_use_case.EventCreationRequestModel; -import event_creation_use_case.EventCreationResponseModel; +import use_cases.task_management.event_creation_use_case.EventCreationInputBoundary; +import use_cases.task_management.event_creation_use_case.EventCreationRequestModel; +import use_cases.task_management.event_creation_use_case.EventCreationResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/event_creation_screens/EventCreationFailed.java b/src/main/java/screens/task_management/event_creation_screens/EventCreationFailed.java similarity index 71% rename from src/main/java/event_creation_screens/EventCreationFailed.java rename to src/main/java/screens/task_management/event_creation_screens/EventCreationFailed.java index b2ffa56..467d65c 100644 --- a/src/main/java/event_creation_screens/EventCreationFailed.java +++ b/src/main/java/screens/task_management/event_creation_screens/EventCreationFailed.java @@ -1,4 +1,4 @@ -package event_creation_screens; +package screens.task_management.event_creation_screens; public class EventCreationFailed extends RuntimeException { public EventCreationFailed(String error) { diff --git a/src/main/java/event_creation_screens/EventCreationResponseFormatter.java b/src/main/java/screens/task_management/event_creation_screens/EventCreationResponseFormatter.java similarity index 61% rename from src/main/java/event_creation_screens/EventCreationResponseFormatter.java rename to src/main/java/screens/task_management/event_creation_screens/EventCreationResponseFormatter.java index 5e576c6..609ad02 100644 --- a/src/main/java/event_creation_screens/EventCreationResponseFormatter.java +++ b/src/main/java/screens/task_management/event_creation_screens/EventCreationResponseFormatter.java @@ -1,7 +1,7 @@ -package event_creation_screens; +package screens.task_management.event_creation_screens; -import event_creation_use_case.EventCreationPresenter; -import event_creation_use_case.EventCreationResponseModel; +import use_cases.task_management.event_creation_use_case.EventCreationPresenter; +import use_cases.task_management.event_creation_use_case.EventCreationResponseModel; public class EventCreationResponseFormatter implements EventCreationPresenter { diff --git a/src/main/java/event_creation_screens/EventCreationScreen.java b/src/main/java/screens/task_management/event_creation_screens/EventCreationScreen.java similarity index 97% rename from src/main/java/event_creation_screens/EventCreationScreen.java rename to src/main/java/screens/task_management/event_creation_screens/EventCreationScreen.java index 87c9bab..4036f9c 100644 --- a/src/main/java/event_creation_screens/EventCreationScreen.java +++ b/src/main/java/screens/task_management/event_creation_screens/EventCreationScreen.java @@ -1,4 +1,4 @@ -package event_creation_screens; +package screens.task_management.event_creation_screens; import screens.LabelCheckBox; import screens.LabelTextPanel; @@ -7,8 +7,6 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.time.LocalDateTime; import static javax.swing.JOptionPane.showMessageDialog; diff --git a/src/main/java/event_edit_screens/EventEditController.java b/src/main/java/screens/task_management/event_edit_screens/EventEditController.java similarity index 68% rename from src/main/java/event_edit_screens/EventEditController.java rename to src/main/java/screens/task_management/event_edit_screens/EventEditController.java index 1ba9cb5..3039d26 100644 --- a/src/main/java/event_edit_screens/EventEditController.java +++ b/src/main/java/screens/task_management/event_edit_screens/EventEditController.java @@ -1,9 +1,9 @@ -package event_edit_screens; +package screens.task_management.event_edit_screens; import entities.Event; -import event_edit_use_case.EventEditInputBoundary; -import event_edit_use_case.EventEditRequestModel; -import event_edit_use_case.EventEditResponseModel; +import use_cases.task_management.event_edit_use_case.EventEditInputBoundary; +import use_cases.task_management.event_edit_use_case.EventEditRequestModel; +import use_cases.task_management.event_edit_use_case.EventEditResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/task_deletion_screens/TaskDeletionController.java b/src/main/java/screens/task_management/task_deletion_screens/TaskDeletionController.java similarity index 70% rename from src/main/java/task_deletion_screens/TaskDeletionController.java rename to src/main/java/screens/task_management/task_deletion_screens/TaskDeletionController.java index e46a486..56448af 100644 --- a/src/main/java/task_deletion_screens/TaskDeletionController.java +++ b/src/main/java/screens/task_management/task_deletion_screens/TaskDeletionController.java @@ -1,11 +1,11 @@ -package task_deletion_screens; +package screens.task_management.task_deletion_screens; import entities.Course; import entities.StudentUser; import entities.Task; -import task_deletion_use_case.TaskDeletionInputBoundary; -import task_deletion_use_case.TaskDeletionRequestModel; -import task_deletion_use_case.TaskDeletionResponseModel; +import use_cases.task_management.task_deletion_use_case.TaskDeletionInputBoundary; +import use_cases.task_management.task_deletion_use_case.TaskDeletionRequestModel; +import use_cases.task_management.task_deletion_use_case.TaskDeletionResponseModel; public class TaskDeletionController { final TaskDeletionInputBoundary input; diff --git a/src/main/java/test_creation_screens/TestCreationController.java b/src/main/java/screens/task_management/test_creation_screens/TestCreationController.java similarity index 63% rename from src/main/java/test_creation_screens/TestCreationController.java rename to src/main/java/screens/task_management/test_creation_screens/TestCreationController.java index 143cdd3..cd168ae 100644 --- a/src/main/java/test_creation_screens/TestCreationController.java +++ b/src/main/java/screens/task_management/test_creation_screens/TestCreationController.java @@ -1,8 +1,8 @@ -package test_creation_screens; +package screens.task_management.test_creation_screens; -import test_creation_use_case.TestCreationInputBoundary; -import test_creation_use_case.TestCreationRequestModel; -import test_creation_use_case.TestCreationResponseModel; +import use_cases.task_management.test_creation_use_case.TestCreationInputBoundary; +import use_cases.task_management.test_creation_use_case.TestCreationRequestModel; +import use_cases.task_management.test_creation_use_case.TestCreationResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/test_edit_screens/TestEditController.java b/src/main/java/screens/task_management/test_edit_screens/TestEditController.java similarity index 66% rename from src/main/java/test_edit_screens/TestEditController.java rename to src/main/java/screens/task_management/test_edit_screens/TestEditController.java index 3477d9e..82d087f 100644 --- a/src/main/java/test_edit_screens/TestEditController.java +++ b/src/main/java/screens/task_management/test_edit_screens/TestEditController.java @@ -1,9 +1,9 @@ -package test_edit_screens; +package screens.task_management.test_edit_screens; import entities.Test; -import test_edit_use_case.TestEditInputBoundary; -import test_edit_use_case.TestEditRequestModel; -import test_edit_use_case.TestEditResponseModel; +import use_cases.task_management.test_edit_use_case.TestEditInputBoundary; +import use_cases.task_management.test_edit_use_case.TestEditRequestModel; +import use_cases.task_management.test_edit_use_case.TestEditResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java b/src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java deleted file mode 100644 index 66f3c46..0000000 --- a/src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java +++ /dev/null @@ -1,4 +0,0 @@ -package tasks_to_student_tasklist_use_case; - -public interface TaskToTasklistPresenter { -} diff --git a/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictPresenter.java similarity index 79% rename from src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java rename to src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictPresenter.java index 02d540c..9d68698 100644 --- a/src/main/java/schedule_conflict_use_case/ScheduleConflictPresenter.java +++ b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictPresenter.java @@ -1,4 +1,4 @@ -package schedule_conflict_use_case; +package use_cases.calendar_scheduler.schedule_conflict_use_case; public interface ScheduleConflictPresenter { diff --git a/src/main/java/schedule_conflict_use_case/ScheduleConflictRequestModel.java b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictRequestModel.java similarity index 89% rename from src/main/java/schedule_conflict_use_case/ScheduleConflictRequestModel.java rename to src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictRequestModel.java index 74e54cf..efaa88e 100644 --- a/src/main/java/schedule_conflict_use_case/ScheduleConflictRequestModel.java +++ b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictRequestModel.java @@ -1,4 +1,4 @@ -package schedule_conflict_use_case; +package use_cases.calendar_scheduler.schedule_conflict_use_case; import entities.Task; diff --git a/src/main/java/schedule_conflict_use_case/ScheduleConflictResponseModel.java b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictResponseModel.java similarity index 89% rename from src/main/java/schedule_conflict_use_case/ScheduleConflictResponseModel.java rename to src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictResponseModel.java index 8ef17c9..fc01a8f 100644 --- a/src/main/java/schedule_conflict_use_case/ScheduleConflictResponseModel.java +++ b/src/main/java/use_cases/calendar_scheduler/schedule_conflict_use_case/ScheduleConflictResponseModel.java @@ -1,4 +1,4 @@ -package schedule_conflict_use_case; +package use_cases.calendar_scheduler.schedule_conflict_use_case; public class ScheduleConflictResponseModel { diff --git a/src/main/java/scheduler_use_case/SchedulerController.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerController.java similarity index 87% rename from src/main/java/scheduler_use_case/SchedulerController.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerController.java index 825f6c3..c42f140 100644 --- a/src/main/java/scheduler_use_case/SchedulerController.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerController.java @@ -1,9 +1,8 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; import entities.Event; import entities.StudentUser; -import entities.Task; -import event_creation_use_case.EventCreationResponseModel; +import use_cases.task_management.event_creation_use_case.EventCreationResponseModel; import java.time.LocalDateTime; diff --git a/src/main/java/scheduler_use_case/SchedulerInputBoundary.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInputBoundary.java similarity index 81% rename from src/main/java/scheduler_use_case/SchedulerInputBoundary.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInputBoundary.java index 4bdca04..71070e9 100644 --- a/src/main/java/scheduler_use_case/SchedulerInputBoundary.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInputBoundary.java @@ -1,4 +1,4 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; public interface SchedulerInputBoundary { diff --git a/src/main/java/scheduler_use_case/SchedulerInteractor.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInteractor.java similarity index 95% rename from src/main/java/scheduler_use_case/SchedulerInteractor.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInteractor.java index ec1e1ed..ae7e9b8 100644 --- a/src/main/java/scheduler_use_case/SchedulerInteractor.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerInteractor.java @@ -1,12 +1,12 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; import entities.Preparatory; import entities.StudentUser; import entities.Task; import entities.Timeblockable; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import schedule_conflict_use_case.ScheduleConflictRequestModel; -import schedule_conflict_use_case.ScheduleConflictResponseModel; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictPresenter; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictRequestModel; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictResponseModel; import java.time.Duration; import java.time.LocalDate; diff --git a/src/main/java/scheduler_use_case/SchedulerPresenter.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerPresenter.java similarity index 89% rename from src/main/java/scheduler_use_case/SchedulerPresenter.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerPresenter.java index 31c4214..2b54ae5 100644 --- a/src/main/java/scheduler_use_case/SchedulerPresenter.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerPresenter.java @@ -1,4 +1,4 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; public interface SchedulerPresenter { diff --git a/src/main/java/scheduler_use_case/SchedulerRequestModel.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerRequestModel.java similarity index 94% rename from src/main/java/scheduler_use_case/SchedulerRequestModel.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerRequestModel.java index 1a2c586..0bde48c 100644 --- a/src/main/java/scheduler_use_case/SchedulerRequestModel.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerRequestModel.java @@ -1,4 +1,4 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; import entities.StudentUser; import entities.Task; diff --git a/src/main/java/scheduler_use_case/SchedulerResponseModel.java b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerResponseModel.java similarity index 92% rename from src/main/java/scheduler_use_case/SchedulerResponseModel.java rename to src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerResponseModel.java index ce51473..3eb653d 100644 --- a/src/main/java/scheduler_use_case/SchedulerResponseModel.java +++ b/src/main/java/use_cases/calendar_scheduler/scheduler_use_case/SchedulerResponseModel.java @@ -1,4 +1,4 @@ -package scheduler_use_case; +package use_cases.calendar_scheduler.scheduler_use_case; import entities.Task; diff --git a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java similarity index 65% rename from src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java index 2be69e3..59c43b1 100644 --- a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInputBoundary.java @@ -1,6 +1,4 @@ -package collaborative_task_creation_use_case; - -import entities.CollaborativeTask; +package use_cases.collaborative_task_management.collaborative_task_creation_use_case; public interface CollaborativeTaskCreationInputBoundary { CollaborativeTaskCreationResponseModel create(CollaborativeTaskCreationRequestModel requestModel); diff --git a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java similarity index 92% rename from src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java index 776053c..000832e 100644 --- a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationInteractor.java @@ -1,9 +1,9 @@ -package collaborative_task_creation_use_case; +package use_cases.collaborative_task_management.collaborative_task_creation_use_case; import entities.CollaborativeTask; import entities.StudentUser; import entities.TaskMap; -import read_write.*; +import use_cases.task_management.read_write.TaskReadWrite; import java.time.LocalDateTime; diff --git a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java similarity index 76% rename from src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java index d432461..c36c8c0 100644 --- a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationPresenter.java @@ -1,6 +1,4 @@ -package collaborative_task_creation_use_case; - -import entities.CollaborativeTask; +package use_cases.collaborative_task_management.collaborative_task_creation_use_case; public interface CollaborativeTaskCreationPresenter { CollaborativeTaskCreationResponseModel prepareSuccessView(CollaborativeTaskCreationResponseModel collaborativeTaskCreationResponseModel); diff --git a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java similarity index 94% rename from src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java index 9fa8de5..2fe5471 100644 --- a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationRequestModel.java @@ -1,4 +1,4 @@ -package collaborative_task_creation_use_case; +package use_cases.collaborative_task_management.collaborative_task_creation_use_case; import entities.CollaborativeTask; import entities.StudentUser; diff --git a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java similarity index 88% rename from src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java index ff4f98c..1f967bf 100644 --- a/src/main/java/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_creation_use_case/CollaborativeTaskCreationResponseModel.java @@ -1,4 +1,4 @@ -package collaborative_task_creation_use_case; +package use_cases.collaborative_task_management.collaborative_task_creation_use_case; import entities.CollaborativeTask; import entities.StudentUser; diff --git a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java similarity index 64% rename from src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java index a5bf1a8..4c32c7b 100644 --- a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInputBoundary.java @@ -1,6 +1,4 @@ -package collaborative_task_edit_use_case; - -import entities.CollaborativeTask; +package use_cases.collaborative_task_management.collaborative_task_edit_use_case; public interface CollaborativeTaskEditInputBoundary { CollaborativeTaskEditResponseModel edit(CollaborativeTaskEditRequestModel requestModel); diff --git a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java similarity index 90% rename from src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java index 3295ef8..0f06d4c 100644 --- a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditInteractor.java @@ -1,11 +1,7 @@ -package collaborative_task_edit_use_case; +package use_cases.collaborative_task_management.collaborative_task_edit_use_case; -import collaborative_task_creation_use_case.CollaborativeTaskCreationResponseModel; -import entities.CollaborativeTask; import entities.StudentUser; -import java.util.ArrayList; - public class CollaborativeTaskEditInteractor implements CollaborativeTaskEditInputBoundary { private final CollaborativeTaskEditPresenter presenter; private final StudentUser student; diff --git a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java similarity index 75% rename from src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java index 22aa207..af098b4 100644 --- a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditPresenter.java @@ -1,6 +1,4 @@ -package collaborative_task_edit_use_case; - -import entities.CollaborativeTask; +package use_cases.collaborative_task_management.collaborative_task_edit_use_case; public interface CollaborativeTaskEditPresenter { CollaborativeTaskEditResponseModel prepareSuccessView(CollaborativeTaskEditResponseModel collaborativeTaskEditResponseModel); diff --git a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java similarity index 96% rename from src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java index 44b9abc..40bb026 100644 --- a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditRequestModel.java @@ -1,4 +1,4 @@ -package collaborative_task_edit_use_case; +package use_cases.collaborative_task_management.collaborative_task_edit_use_case; import entities.CollaborativeTask; import entities.StudentUser; diff --git a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java similarity index 89% rename from src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java rename to src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java index d133967..4939f25 100644 --- a/src/main/java/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java +++ b/src/main/java/use_cases/collaborative_task_management/collaborative_task_edit_use_case/CollaborativeTaskEditResponseModel.java @@ -1,4 +1,4 @@ -package collaborative_task_edit_use_case; +package use_cases.collaborative_task_management.collaborative_task_edit_use_case; import entities.StudentUser; diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInputBoundary.java similarity index 89% rename from src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java rename to src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInputBoundary.java index 87f8709..06dd107 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTInputBoundary.java +++ b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInputBoundary.java @@ -1,7 +1,6 @@ -package scheduling_ct_use_case; +package use_cases.collaborative_task_scheduling.scheduling_ct_use_case; import entities.Task; -import scheduler_use_case.SchedulerInteractor; import java.util.HashMap; diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInteractor.java similarity index 99% rename from src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java rename to src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInteractor.java index 811d682..2b54fd3 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTInteractor.java +++ b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTInteractor.java @@ -1,14 +1,12 @@ -package scheduling_ct_use_case; +package use_cases.collaborative_task_scheduling.scheduling_ct_use_case; import entities.*; -import scheduler_use_case.*; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; -import java.util.Objects; /** * Scheduling Collaborative Tasks Use Case Interactor (use case layer) diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTOutputBoundary.java b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTOutputBoundary.java similarity index 91% rename from src/main/java/scheduling_ct_use_case/ScheduleCTOutputBoundary.java rename to src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTOutputBoundary.java index 1483936..46b0f9c 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTOutputBoundary.java +++ b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTOutputBoundary.java @@ -1,4 +1,4 @@ -package scheduling_ct_use_case; +package use_cases.collaborative_task_scheduling.scheduling_ct_use_case; /** * Output Boundary for the Scheduling Collaborative Tasks Use Case diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTRequestModel.java b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTRequestModel.java similarity index 92% rename from src/main/java/scheduling_ct_use_case/ScheduleCTRequestModel.java rename to src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTRequestModel.java index 7044a30..4d1b1bb 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTRequestModel.java +++ b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTRequestModel.java @@ -1,4 +1,4 @@ -package scheduling_ct_use_case; +package use_cases.collaborative_task_scheduling.scheduling_ct_use_case; import entities.StudentUser; diff --git a/src/main/java/scheduling_ct_use_case/ScheduleCTResponseModel.java b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTResponseModel.java similarity index 91% rename from src/main/java/scheduling_ct_use_case/ScheduleCTResponseModel.java rename to src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTResponseModel.java index f047bb9..d029926 100644 --- a/src/main/java/scheduling_ct_use_case/ScheduleCTResponseModel.java +++ b/src/main/java/use_cases/collaborative_task_scheduling/scheduling_ct_use_case/ScheduleCTResponseModel.java @@ -1,4 +1,4 @@ -package scheduling_ct_use_case; +package use_cases.collaborative_task_scheduling.scheduling_ct_use_case; import java.time.LocalDateTime; import java.util.ArrayList; diff --git a/src/main/java/course_creation_use_case/CourseCreationDsGateway.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationDsGateway.java similarity index 81% rename from src/main/java/course_creation_use_case/CourseCreationDsGateway.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationDsGateway.java index 17dc902..19200df 100644 --- a/src/main/java/course_creation_use_case/CourseCreationDsGateway.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationDsGateway.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; // Use case layer diff --git a/src/main/java/course_creation_use_case/CourseCreationInputBoundary.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInputBoundary.java similarity index 83% rename from src/main/java/course_creation_use_case/CourseCreationInputBoundary.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInputBoundary.java index 95d4426..2a25f5c 100644 --- a/src/main/java/course_creation_use_case/CourseCreationInputBoundary.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInputBoundary.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; // Use case layer diff --git a/src/main/java/course_creation_use_case/CourseCreationInteractor.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInteractor.java similarity index 97% rename from src/main/java/course_creation_use_case/CourseCreationInteractor.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInteractor.java index 34f37fb..feedc76 100644 --- a/src/main/java/course_creation_use_case/CourseCreationInteractor.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationInteractor.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; // Use case layer diff --git a/src/main/java/course_creation_use_case/CourseCreationPresenter.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationPresenter.java similarity index 88% rename from src/main/java/course_creation_use_case/CourseCreationPresenter.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationPresenter.java index 4f35bb8..d07fa5a 100644 --- a/src/main/java/course_creation_use_case/CourseCreationPresenter.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationPresenter.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; // Use case layer diff --git a/src/main/java/course_creation_use_case/CourseCreationRequestModel.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationRequestModel.java similarity index 96% rename from src/main/java/course_creation_use_case/CourseCreationRequestModel.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationRequestModel.java index 80341f5..da2a6dd 100644 --- a/src/main/java/course_creation_use_case/CourseCreationRequestModel.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationRequestModel.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; // Use case layer diff --git a/src/main/java/course_creation_use_case/CourseCreationResponseModel.java b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationResponseModel.java similarity index 94% rename from src/main/java/course_creation_use_case/CourseCreationResponseModel.java rename to src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationResponseModel.java index 68708ab..a846056 100644 --- a/src/main/java/course_creation_use_case/CourseCreationResponseModel.java +++ b/src/main/java/use_cases/course_features/course_creation_use_case/CourseCreationResponseModel.java @@ -1,4 +1,4 @@ -package course_creation_use_case; +package use_cases.course_features.course_creation_use_case; import java.util.ArrayList; diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentDsGateway.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentDsGateway.java similarity index 83% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentDsGateway.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentDsGateway.java index b728cbe..ee88654 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentDsGateway.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentDsGateway.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; // Use case layer diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentInputBoundary.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInputBoundary.java similarity index 71% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentInputBoundary.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInputBoundary.java index f99d3c8..b1d7980 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentInputBoundary.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInputBoundary.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; // Use case layer diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentInteractor.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInteractor.java similarity index 97% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentInteractor.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInteractor.java index 718a23a..0c2fffc 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentInteractor.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentInteractor.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; // Use case layer diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentPresenter.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentPresenter.java similarity index 89% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentPresenter.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentPresenter.java index dd06239..8b97fae 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentPresenter.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentPresenter.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; // Use case layer diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentRequestModel.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentRequestModel.java similarity index 94% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentRequestModel.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentRequestModel.java index 1eeae6d..64bdcf2 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentRequestModel.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentRequestModel.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; // Use case layer diff --git a/src/main/java/course_enrolment_use_case/CourseEnrolmentResponseModel.java b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentResponseModel.java similarity index 91% rename from src/main/java/course_enrolment_use_case/CourseEnrolmentResponseModel.java rename to src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentResponseModel.java index ac8dea6..a6826f5 100644 --- a/src/main/java/course_enrolment_use_case/CourseEnrolmentResponseModel.java +++ b/src/main/java/use_cases/course_features/course_enrolment_use_case/CourseEnrolmentResponseModel.java @@ -1,4 +1,4 @@ -package course_enrolment_use_case; +package use_cases.course_features.course_enrolment_use_case; import java.util.ArrayList; diff --git a/src/main/java/progress_tracker_use_case/ProgressTrackerInputBoundary.java b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInputBoundary.java similarity index 81% rename from src/main/java/progress_tracker_use_case/ProgressTrackerInputBoundary.java rename to src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInputBoundary.java index 16e6841..59e4953 100644 --- a/src/main/java/progress_tracker_use_case/ProgressTrackerInputBoundary.java +++ b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInputBoundary.java @@ -1,4 +1,4 @@ -package progress_tracker_use_case; +package use_cases.course_tracker.progress_tracker_use_case; /** * Input Boundary interface for the Progress Tracker Use Case diff --git a/src/main/java/progress_tracker_use_case/ProgressTrackerInteractor.java b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInteractor.java similarity index 99% rename from src/main/java/progress_tracker_use_case/ProgressTrackerInteractor.java rename to src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInteractor.java index 5178775..9b35a7f 100644 --- a/src/main/java/progress_tracker_use_case/ProgressTrackerInteractor.java +++ b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerInteractor.java @@ -1,4 +1,4 @@ -package progress_tracker_use_case; +package use_cases.course_tracker.progress_tracker_use_case; import entities.*; diff --git a/src/main/java/progress_tracker_use_case/ProgressTrackerOutputBoundary.java b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerOutputBoundary.java similarity index 83% rename from src/main/java/progress_tracker_use_case/ProgressTrackerOutputBoundary.java rename to src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerOutputBoundary.java index 47056c5..ae2e44b 100644 --- a/src/main/java/progress_tracker_use_case/ProgressTrackerOutputBoundary.java +++ b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerOutputBoundary.java @@ -1,4 +1,4 @@ -package progress_tracker_use_case; +package use_cases.course_tracker.progress_tracker_use_case; /** * Output Boundary for the Progress Tracker Use Case diff --git a/src/main/java/progress_tracker_use_case/ProgressTrackerRequestModel.java b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerRequestModel.java similarity index 97% rename from src/main/java/progress_tracker_use_case/ProgressTrackerRequestModel.java rename to src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerRequestModel.java index 935e007..8ff11e5 100644 --- a/src/main/java/progress_tracker_use_case/ProgressTrackerRequestModel.java +++ b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerRequestModel.java @@ -1,4 +1,4 @@ -package progress_tracker_use_case; +package use_cases.course_tracker.progress_tracker_use_case; import entities.Course; import entities.Task; diff --git a/src/main/java/progress_tracker_use_case/ProgressTrackerResponseModel.java b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerResponseModel.java similarity index 94% rename from src/main/java/progress_tracker_use_case/ProgressTrackerResponseModel.java rename to src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerResponseModel.java index 833f924..ff94f33 100644 --- a/src/main/java/progress_tracker_use_case/ProgressTrackerResponseModel.java +++ b/src/main/java/use_cases/course_tracker/progress_tracker_use_case/ProgressTrackerResponseModel.java @@ -1,4 +1,4 @@ -package progress_tracker_use_case; +package use_cases.course_tracker.progress_tracker_use_case; /** * Response Model for the Progress Tracker Use Case diff --git a/src/main/java/login_usecase/LoginGateway.java b/src/main/java/use_cases/login_registration/login_usecase/LoginGateway.java similarity index 81% rename from src/main/java/login_usecase/LoginGateway.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginGateway.java index e8986b0..403d4f4 100644 --- a/src/main/java/login_usecase/LoginGateway.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginGateway.java @@ -1,6 +1,6 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; -import user_register_usecase.UserRegSaveRequest; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; import java.util.Map; diff --git a/src/main/java/login_usecase/LoginInputBoundary.java b/src/main/java/use_cases/login_registration/login_usecase/LoginInputBoundary.java similarity index 77% rename from src/main/java/login_usecase/LoginInputBoundary.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginInputBoundary.java index 8ddb83d..edc2491 100644 --- a/src/main/java/login_usecase/LoginInputBoundary.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginInputBoundary.java @@ -1,6 +1,6 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; -import screens.LoginFailed; +import screens.login_registration.LoginFailed; public interface LoginInputBoundary { diff --git a/src/main/java/login_usecase/LoginInteractor.java b/src/main/java/use_cases/login_registration/login_usecase/LoginInteractor.java similarity index 89% rename from src/main/java/login_usecase/LoginInteractor.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginInteractor.java index 62ff85b..ccbe8b1 100644 --- a/src/main/java/login_usecase/LoginInteractor.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginInteractor.java @@ -1,15 +1,14 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; import entities.InstructorUser; import entities.StudentUser; import entities.User; -import screens.LoginFailed; -import user_register_usecase.InstructorSaveRequest; -import user_register_usecase.StudentSaveRequest; -import user_register_usecase.UserRegSaveRequest; +import screens.login_registration.LoginFailed; +import use_cases.login_registration.user_register_usecase.InstructorSaveRequest; +import use_cases.login_registration.user_register_usecase.StudentSaveRequest; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; import java.time.LocalDateTime; -import java.util.HashMap; public class LoginInteractor implements LoginInputBoundary { diff --git a/src/main/java/login_usecase/LoginPresenter.java b/src/main/java/use_cases/login_registration/login_usecase/LoginPresenter.java similarity index 75% rename from src/main/java/login_usecase/LoginPresenter.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginPresenter.java index 7e09fd1..d6da7ff 100644 --- a/src/main/java/login_usecase/LoginPresenter.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginPresenter.java @@ -1,6 +1,6 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; -import screens.LoginFailed; +import screens.login_registration.LoginFailed; public interface LoginPresenter { diff --git a/src/main/java/login_usecase/LoginRequestModel.java b/src/main/java/use_cases/login_registration/login_usecase/LoginRequestModel.java similarity index 92% rename from src/main/java/login_usecase/LoginRequestModel.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginRequestModel.java index b97729f..4f1068a 100644 --- a/src/main/java/login_usecase/LoginRequestModel.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginRequestModel.java @@ -1,4 +1,4 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; public class LoginRequestModel { diff --git a/src/main/java/login_usecase/LoginResponseModel.java b/src/main/java/use_cases/login_registration/login_usecase/LoginResponseModel.java similarity index 93% rename from src/main/java/login_usecase/LoginResponseModel.java rename to src/main/java/use_cases/login_registration/login_usecase/LoginResponseModel.java index eb9d13b..3db6b5e 100644 --- a/src/main/java/login_usecase/LoginResponseModel.java +++ b/src/main/java/use_cases/login_registration/login_usecase/LoginResponseModel.java @@ -1,4 +1,4 @@ -package login_usecase; +package use_cases.login_registration.login_usecase; public class LoginResponseModel { diff --git a/src/main/java/logout_usecase/LogoutGateway.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutGateway.java similarity index 67% rename from src/main/java/logout_usecase/LogoutGateway.java rename to src/main/java/use_cases/login_registration/logout_usecase/LogoutGateway.java index ec48dc7..20952cf 100644 --- a/src/main/java/logout_usecase/LogoutGateway.java +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutGateway.java @@ -1,6 +1,6 @@ -package logout_usecase; +package use_cases.login_registration.logout_usecase; -import user_register_usecase.UserRegSaveRequest; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; import java.io.IOException; diff --git a/src/main/java/logout_usecase/LogoutInputBoundary.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutInputBoundary.java similarity index 83% rename from src/main/java/logout_usecase/LogoutInputBoundary.java rename to src/main/java/use_cases/login_registration/logout_usecase/LogoutInputBoundary.java index 05e0af2..e1f79c7 100644 --- a/src/main/java/logout_usecase/LogoutInputBoundary.java +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutInputBoundary.java @@ -1,4 +1,4 @@ -package logout_usecase; +package use_cases.login_registration.logout_usecase; import java.io.IOException; diff --git a/src/main/java/logout_usecase/LogoutInteractor.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutInteractor.java similarity index 86% rename from src/main/java/logout_usecase/LogoutInteractor.java rename to src/main/java/use_cases/login_registration/logout_usecase/LogoutInteractor.java index d2858e3..cab36bb 100644 --- a/src/main/java/logout_usecase/LogoutInteractor.java +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutInteractor.java @@ -1,10 +1,11 @@ -package logout_usecase; +package use_cases.login_registration.logout_usecase; import entities.InstructorUser; import entities.StudentUser; import entities.User; -import entities.UserFactory; -import user_register_usecase.*; +import use_cases.login_registration.user_register_usecase.InstructorSaveRequest; +import use_cases.login_registration.user_register_usecase.StudentSaveRequest; +import use_cases.login_registration.user_register_usecase.UserRegSaveRequest; import java.io.IOException; import java.time.LocalDateTime; diff --git a/src/main/java/logout_usecase/LogoutPresenter.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutPresenter.java similarity index 79% rename from src/main/java/logout_usecase/LogoutPresenter.java rename to src/main/java/use_cases/login_registration/logout_usecase/LogoutPresenter.java index 1da924b..8ed055e 100644 --- a/src/main/java/logout_usecase/LogoutPresenter.java +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutPresenter.java @@ -1,4 +1,4 @@ -package logout_usecase; +package use_cases.login_registration.logout_usecase; public interface LogoutPresenter { diff --git a/src/main/java/use_cases/login_registration/logout_usecase/LogoutRequestModel.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutRequestModel.java new file mode 100644 index 0000000..7fbeeb2 --- /dev/null +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutRequestModel.java @@ -0,0 +1,4 @@ +package use_cases.login_registration.logout_usecase; + +public class LogoutRequestModel { +} diff --git a/src/main/java/logout_usecase/LogoutResponseModel.java b/src/main/java/use_cases/login_registration/logout_usecase/LogoutResponseModel.java similarity index 92% rename from src/main/java/logout_usecase/LogoutResponseModel.java rename to src/main/java/use_cases/login_registration/logout_usecase/LogoutResponseModel.java index e68631f..02129bc 100644 --- a/src/main/java/logout_usecase/LogoutResponseModel.java +++ b/src/main/java/use_cases/login_registration/logout_usecase/LogoutResponseModel.java @@ -1,4 +1,4 @@ -package logout_usecase; +package use_cases.login_registration.logout_usecase; public class LogoutResponseModel { diff --git a/src/main/java/user_register_usecase/InstructorSaveRequest.java b/src/main/java/use_cases/login_registration/user_register_usecase/InstructorSaveRequest.java similarity index 94% rename from src/main/java/user_register_usecase/InstructorSaveRequest.java rename to src/main/java/use_cases/login_registration/user_register_usecase/InstructorSaveRequest.java index db22423..a5b1732 100644 --- a/src/main/java/user_register_usecase/InstructorSaveRequest.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/InstructorSaveRequest.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; import entities.InstructorUser; diff --git a/src/main/java/user_register_usecase/StudentSaveRequest.java b/src/main/java/use_cases/login_registration/user_register_usecase/StudentSaveRequest.java similarity index 97% rename from src/main/java/user_register_usecase/StudentSaveRequest.java rename to src/main/java/use_cases/login_registration/user_register_usecase/StudentSaveRequest.java index 96306a2..ed1da82 100644 --- a/src/main/java/user_register_usecase/StudentSaveRequest.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/StudentSaveRequest.java @@ -1,11 +1,10 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; import entities.StudentUser; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.ArrayList; -import java.util.HashMap; import java.util.Map; public class StudentSaveRequest extends UserRegSaveRequest { diff --git a/src/main/java/user_register_usecase/UserRegGateway.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegGateway.java similarity index 87% rename from src/main/java/user_register_usecase/UserRegGateway.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegGateway.java index 37e7136..89b6681 100644 --- a/src/main/java/user_register_usecase/UserRegGateway.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegGateway.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; // Use case layer diff --git a/src/main/java/user_register_usecase/UserRegInputBoundary.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegInputBoundary.java similarity index 84% rename from src/main/java/user_register_usecase/UserRegInputBoundary.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegInputBoundary.java index da171eb..44e2dd9 100644 --- a/src/main/java/user_register_usecase/UserRegInputBoundary.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegInputBoundary.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; // Use Case Layer diff --git a/src/main/java/user_register_usecase/UserRegInteractor.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegInteractor.java similarity index 97% rename from src/main/java/user_register_usecase/UserRegInteractor.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegInteractor.java index 84768b3..04be09a 100644 --- a/src/main/java/user_register_usecase/UserRegInteractor.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegInteractor.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; import entities.*; diff --git a/src/main/java/user_register_usecase/UserRegPresenter.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegPresenter.java similarity index 86% rename from src/main/java/user_register_usecase/UserRegPresenter.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegPresenter.java index 2cd18e4..5b25cee 100644 --- a/src/main/java/user_register_usecase/UserRegPresenter.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegPresenter.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; // Use Case Layer diff --git a/src/main/java/user_register_usecase/UserRegRequest.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegRequest.java similarity index 96% rename from src/main/java/user_register_usecase/UserRegRequest.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegRequest.java index af8f2d2..967b30f 100644 --- a/src/main/java/user_register_usecase/UserRegRequest.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegRequest.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; // Use Case Layer diff --git a/src/main/java/user_register_usecase/UserRegResponse.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegResponse.java similarity index 92% rename from src/main/java/user_register_usecase/UserRegResponse.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegResponse.java index 47d35ad..3a15dc5 100644 --- a/src/main/java/user_register_usecase/UserRegResponse.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegResponse.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; public class UserRegResponse { /** diff --git a/src/main/java/user_register_usecase/UserRegSaveRequest.java b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegSaveRequest.java similarity index 95% rename from src/main/java/user_register_usecase/UserRegSaveRequest.java rename to src/main/java/use_cases/login_registration/user_register_usecase/UserRegSaveRequest.java index cc2556c..851b146 100644 --- a/src/main/java/user_register_usecase/UserRegSaveRequest.java +++ b/src/main/java/use_cases/login_registration/user_register_usecase/UserRegSaveRequest.java @@ -1,4 +1,4 @@ -package user_register_usecase; +package use_cases.login_registration.user_register_usecase; import entities.InstructorUser; import entities.StudentUser; diff --git a/src/main/java/assignment_creation_use_case/AssignmentCreationInputBoundary.java b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInputBoundary.java similarity index 69% rename from src/main/java/assignment_creation_use_case/AssignmentCreationInputBoundary.java rename to src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInputBoundary.java index abf0bd2..2311ea7 100644 --- a/src/main/java/assignment_creation_use_case/AssignmentCreationInputBoundary.java +++ b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInputBoundary.java @@ -1,4 +1,4 @@ -package assignment_creation_use_case; +package use_cases.task_management.assignment_creation_use_case; public interface AssignmentCreationInputBoundary { AssignmentCreationResponseModel create(AssignmentCreationRequestModel requestModel); diff --git a/src/main/java/assignment_creation_use_case/AssignmentCreationInteractor.java b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInteractor.java similarity index 91% rename from src/main/java/assignment_creation_use_case/AssignmentCreationInteractor.java rename to src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInteractor.java index 97d0b16..824c616 100644 --- a/src/main/java/assignment_creation_use_case/AssignmentCreationInteractor.java +++ b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationInteractor.java @@ -1,9 +1,9 @@ -package assignment_creation_use_case; +package use_cases.task_management.assignment_creation_use_case; import entities.Assignment; import entities.StudentUser; import entities.TaskMap; -import read_write.TaskReadWrite; +import use_cases.task_management.read_write.TaskReadWrite; import java.time.LocalDateTime; diff --git a/src/main/java/assignment_creation_use_case/AssignmentCreationPresenter.java b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationPresenter.java similarity index 77% rename from src/main/java/assignment_creation_use_case/AssignmentCreationPresenter.java rename to src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationPresenter.java index 929aa9e..46a9d9c 100644 --- a/src/main/java/assignment_creation_use_case/AssignmentCreationPresenter.java +++ b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationPresenter.java @@ -1,4 +1,4 @@ -package assignment_creation_use_case; +package use_cases.task_management.assignment_creation_use_case; public interface AssignmentCreationPresenter { AssignmentCreationResponseModel prepareSuccessView(AssignmentCreationResponseModel responseModel); diff --git a/src/main/java/assignment_creation_use_case/AssignmentCreationRequestModel.java b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationRequestModel.java similarity index 91% rename from src/main/java/assignment_creation_use_case/AssignmentCreationRequestModel.java rename to src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationRequestModel.java index 2713d14..a5a778a 100644 --- a/src/main/java/assignment_creation_use_case/AssignmentCreationRequestModel.java +++ b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationRequestModel.java @@ -1,4 +1,4 @@ -package assignment_creation_use_case; +package use_cases.task_management.assignment_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/assignment_creation_use_case/AssignmentCreationResponseModel.java b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationResponseModel.java similarity index 81% rename from src/main/java/assignment_creation_use_case/AssignmentCreationResponseModel.java rename to src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationResponseModel.java index bb91acb..ebf21ff 100644 --- a/src/main/java/assignment_creation_use_case/AssignmentCreationResponseModel.java +++ b/src/main/java/use_cases/task_management/assignment_creation_use_case/AssignmentCreationResponseModel.java @@ -1,4 +1,4 @@ -package assignment_creation_use_case; +package use_cases.task_management.assignment_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/assignment_edit_use_case/AssignmentEditInputBoundary.java b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInputBoundary.java similarity index 68% rename from src/main/java/assignment_edit_use_case/AssignmentEditInputBoundary.java rename to src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInputBoundary.java index 874149c..09a7d3e 100644 --- a/src/main/java/assignment_edit_use_case/AssignmentEditInputBoundary.java +++ b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInputBoundary.java @@ -1,4 +1,4 @@ -package assignment_edit_use_case; +package use_cases.task_management.assignment_edit_use_case; public interface AssignmentEditInputBoundary { AssignmentEditResponseModel edit(AssignmentEditRequestModel requestModel); diff --git a/src/main/java/assignment_edit_use_case/AssignmentEditInteractor.java b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInteractor.java similarity index 93% rename from src/main/java/assignment_edit_use_case/AssignmentEditInteractor.java rename to src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInteractor.java index 035b7ed..58ca180 100644 --- a/src/main/java/assignment_edit_use_case/AssignmentEditInteractor.java +++ b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditInteractor.java @@ -1,4 +1,4 @@ -package assignment_edit_use_case; +package use_cases.task_management.assignment_edit_use_case; public class AssignmentEditInteractor implements AssignmentEditInputBoundary { AssignmentEditPresenter presenter; diff --git a/src/main/java/assignment_edit_use_case/AssignmentEditPresenter.java b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditPresenter.java similarity index 77% rename from src/main/java/assignment_edit_use_case/AssignmentEditPresenter.java rename to src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditPresenter.java index f40ba33..0795e1f 100644 --- a/src/main/java/assignment_edit_use_case/AssignmentEditPresenter.java +++ b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditPresenter.java @@ -1,4 +1,4 @@ -package assignment_edit_use_case; +package use_cases.task_management.assignment_edit_use_case; public interface AssignmentEditPresenter { AssignmentEditResponseModel prepareSuccessView(AssignmentEditResponseModel responseModel); diff --git a/src/main/java/assignment_edit_use_case/AssignmentEditRequestModel.java b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditRequestModel.java similarity index 93% rename from src/main/java/assignment_edit_use_case/AssignmentEditRequestModel.java rename to src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditRequestModel.java index 6e225c0..52ad09b 100644 --- a/src/main/java/assignment_edit_use_case/AssignmentEditRequestModel.java +++ b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditRequestModel.java @@ -1,4 +1,4 @@ -package assignment_edit_use_case; +package use_cases.task_management.assignment_edit_use_case; import entities.Assignment; diff --git a/src/main/java/assignment_edit_use_case/AssignmentEditResponseModel.java b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditResponseModel.java similarity index 71% rename from src/main/java/assignment_edit_use_case/AssignmentEditResponseModel.java rename to src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditResponseModel.java index 03c2650..cfa01d1 100644 --- a/src/main/java/assignment_edit_use_case/AssignmentEditResponseModel.java +++ b/src/main/java/use_cases/task_management/assignment_edit_use_case/AssignmentEditResponseModel.java @@ -1,4 +1,4 @@ -package assignment_edit_use_case; +package use_cases.task_management.assignment_edit_use_case; public class AssignmentEditResponseModel { String title; diff --git a/src/main/java/event_creation_use_case/EventCreationInputBoundary.java b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInputBoundary.java similarity index 68% rename from src/main/java/event_creation_use_case/EventCreationInputBoundary.java rename to src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInputBoundary.java index 5798614..48c9e22 100644 --- a/src/main/java/event_creation_use_case/EventCreationInputBoundary.java +++ b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInputBoundary.java @@ -1,4 +1,4 @@ -package event_creation_use_case; +package use_cases.task_management.event_creation_use_case; public interface EventCreationInputBoundary { EventCreationResponseModel create(EventCreationRequestModel requestModel); diff --git a/src/main/java/event_creation_use_case/EventCreationInteractor.java b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInteractor.java similarity index 82% rename from src/main/java/event_creation_use_case/EventCreationInteractor.java rename to src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInteractor.java index 39c03df..b0ead90 100644 --- a/src/main/java/event_creation_use_case/EventCreationInteractor.java +++ b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationInteractor.java @@ -1,13 +1,13 @@ -package event_creation_use_case; +package use_cases.task_management.event_creation_use_case; import entities.Event; import entities.StudentUser; import entities.TaskMap; -import read_write.*; -import schedule_conflict_use_case.ScheduleConflictPresenter; -import scheduler_use_case.SchedulerInteractor; -import scheduler_use_case.SchedulerPresenter; -import scheduler_use_case.SchedulerRequestModel; +import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictPresenter; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerInteractor; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerPresenter; +import use_cases.calendar_scheduler.scheduler_use_case.SchedulerRequestModel; +import use_cases.task_management.read_write.TaskReadWrite; import java.time.LocalDateTime; diff --git a/src/main/java/event_creation_use_case/EventCreationPresenter.java b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationPresenter.java similarity index 76% rename from src/main/java/event_creation_use_case/EventCreationPresenter.java rename to src/main/java/use_cases/task_management/event_creation_use_case/EventCreationPresenter.java index 3241b56..1f1bff5 100644 --- a/src/main/java/event_creation_use_case/EventCreationPresenter.java +++ b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationPresenter.java @@ -1,4 +1,4 @@ -package event_creation_use_case; +package use_cases.task_management.event_creation_use_case; public interface EventCreationPresenter { EventCreationResponseModel prepareSuccessView(EventCreationResponseModel e); diff --git a/src/main/java/event_creation_use_case/EventCreationRequestModel.java b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationRequestModel.java similarity index 94% rename from src/main/java/event_creation_use_case/EventCreationRequestModel.java rename to src/main/java/use_cases/task_management/event_creation_use_case/EventCreationRequestModel.java index 0685741..eda3bb3 100644 --- a/src/main/java/event_creation_use_case/EventCreationRequestModel.java +++ b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationRequestModel.java @@ -1,4 +1,4 @@ -package event_creation_use_case; +package use_cases.task_management.event_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/event_creation_use_case/EventCreationResponseModel.java b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationResponseModel.java similarity index 86% rename from src/main/java/event_creation_use_case/EventCreationResponseModel.java rename to src/main/java/use_cases/task_management/event_creation_use_case/EventCreationResponseModel.java index 0064b4a..4630575 100644 --- a/src/main/java/event_creation_use_case/EventCreationResponseModel.java +++ b/src/main/java/use_cases/task_management/event_creation_use_case/EventCreationResponseModel.java @@ -1,4 +1,4 @@ -package event_creation_use_case; +package use_cases.task_management.event_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/event_edit_use_case/EventEditInputBoundary.java b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditInputBoundary.java similarity index 67% rename from src/main/java/event_edit_use_case/EventEditInputBoundary.java rename to src/main/java/use_cases/task_management/event_edit_use_case/EventEditInputBoundary.java index 7036ef7..ade4d82 100644 --- a/src/main/java/event_edit_use_case/EventEditInputBoundary.java +++ b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditInputBoundary.java @@ -1,4 +1,4 @@ -package event_edit_use_case; +package use_cases.task_management.event_edit_use_case; public interface EventEditInputBoundary { EventEditResponseModel edit(EventEditRequestModel requestModel); diff --git a/src/main/java/event_edit_use_case/EventEditInteractor.java b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditInteractor.java similarity index 94% rename from src/main/java/event_edit_use_case/EventEditInteractor.java rename to src/main/java/use_cases/task_management/event_edit_use_case/EventEditInteractor.java index fec1e84..7a24cb2 100644 --- a/src/main/java/event_edit_use_case/EventEditInteractor.java +++ b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditInteractor.java @@ -1,6 +1,4 @@ -package event_edit_use_case; - -import java.util.ArrayList; +package use_cases.task_management.event_edit_use_case; public class EventEditInteractor implements EventEditInputBoundary{ EventEditPresenter presenter; diff --git a/src/main/java/event_edit_use_case/EventEditPresenter.java b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditPresenter.java similarity index 76% rename from src/main/java/event_edit_use_case/EventEditPresenter.java rename to src/main/java/use_cases/task_management/event_edit_use_case/EventEditPresenter.java index ab95147..eb5ef67 100644 --- a/src/main/java/event_edit_use_case/EventEditPresenter.java +++ b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditPresenter.java @@ -1,4 +1,4 @@ -package event_edit_use_case; +package use_cases.task_management.event_edit_use_case; public interface EventEditPresenter { EventEditResponseModel prepareSuccessView(EventEditResponseModel requestModel); diff --git a/src/main/java/event_edit_use_case/EventEditRequestModel.java b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditRequestModel.java similarity index 95% rename from src/main/java/event_edit_use_case/EventEditRequestModel.java rename to src/main/java/use_cases/task_management/event_edit_use_case/EventEditRequestModel.java index ae05508..cbc73ea 100644 --- a/src/main/java/event_edit_use_case/EventEditRequestModel.java +++ b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditRequestModel.java @@ -1,4 +1,4 @@ -package event_edit_use_case; +package use_cases.task_management.event_edit_use_case; import entities.Event; diff --git a/src/main/java/event_edit_use_case/EventEditResponseModel.java b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditResponseModel.java similarity index 73% rename from src/main/java/event_edit_use_case/EventEditResponseModel.java rename to src/main/java/use_cases/task_management/event_edit_use_case/EventEditResponseModel.java index 272c984..9e1b060 100644 --- a/src/main/java/event_edit_use_case/EventEditResponseModel.java +++ b/src/main/java/use_cases/task_management/event_edit_use_case/EventEditResponseModel.java @@ -1,4 +1,4 @@ -package event_edit_use_case; +package use_cases.task_management.event_edit_use_case; public class EventEditResponseModel { private String title; diff --git a/src/main/java/read_write/ReadWriter.java b/src/main/java/use_cases/task_management/read_write/ReadWriter.java similarity index 89% rename from src/main/java/read_write/ReadWriter.java rename to src/main/java/use_cases/task_management/read_write/ReadWriter.java index d1fb2b7..fb489c8 100644 --- a/src/main/java/read_write/ReadWriter.java +++ b/src/main/java/use_cases/task_management/read_write/ReadWriter.java @@ -1,4 +1,4 @@ -package read_write; +package use_cases.task_management.read_write; import java.io.IOException; diff --git a/src/main/java/read_write/TaskReadWrite.java b/src/main/java/use_cases/task_management/read_write/TaskReadWrite.java similarity index 95% rename from src/main/java/read_write/TaskReadWrite.java rename to src/main/java/use_cases/task_management/read_write/TaskReadWrite.java index 1c64983..29736af 100644 --- a/src/main/java/read_write/TaskReadWrite.java +++ b/src/main/java/use_cases/task_management/read_write/TaskReadWrite.java @@ -1,4 +1,4 @@ -package read_write; +package use_cases.task_management.read_write; import java.io.*; import java.util.HashMap; diff --git a/src/main/java/task_deletion_use_case/TaskDeletionInputBoundary.java b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInputBoundary.java similarity index 67% rename from src/main/java/task_deletion_use_case/TaskDeletionInputBoundary.java rename to src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInputBoundary.java index 63e5f06..a6a6e96 100644 --- a/src/main/java/task_deletion_use_case/TaskDeletionInputBoundary.java +++ b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInputBoundary.java @@ -1,8 +1,4 @@ -package task_deletion_use_case; - -import entities.Course; -import entities.StudentUser; -import entities.Task; +package use_cases.task_management.task_deletion_use_case; public interface TaskDeletionInputBoundary { TaskDeletionResponseModel deleteStudentTask(TaskDeletionRequestModel requestModel); diff --git a/src/main/java/task_deletion_use_case/TaskDeletionInteractor.java b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInteractor.java similarity index 91% rename from src/main/java/task_deletion_use_case/TaskDeletionInteractor.java rename to src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInteractor.java index e75ab48..343e621 100644 --- a/src/main/java/task_deletion_use_case/TaskDeletionInteractor.java +++ b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionInteractor.java @@ -1,7 +1,7 @@ -package task_deletion_use_case; +package use_cases.task_management.task_deletion_use_case; import entities.TaskMap; -import read_write.TaskReadWrite; +import use_cases.task_management.read_write.TaskReadWrite; public class TaskDeletionInteractor implements TaskDeletionInputBoundary { final TaskDeletionPresenter presenter; diff --git a/src/main/java/task_deletion_use_case/TaskDeletionPresenter.java b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionPresenter.java similarity index 76% rename from src/main/java/task_deletion_use_case/TaskDeletionPresenter.java rename to src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionPresenter.java index 8d92490..6b611fb 100644 --- a/src/main/java/task_deletion_use_case/TaskDeletionPresenter.java +++ b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionPresenter.java @@ -1,4 +1,4 @@ -package task_deletion_use_case; +package use_cases.task_management.task_deletion_use_case; public interface TaskDeletionPresenter { TaskDeletionResponseModel prepareSuccessView(TaskDeletionResponseModel t); diff --git a/src/main/java/task_deletion_use_case/TaskDeletionRequestModel.java b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionRequestModel.java similarity index 92% rename from src/main/java/task_deletion_use_case/TaskDeletionRequestModel.java rename to src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionRequestModel.java index 19f6d22..f9118a7 100644 --- a/src/main/java/task_deletion_use_case/TaskDeletionRequestModel.java +++ b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionRequestModel.java @@ -1,4 +1,4 @@ -package task_deletion_use_case; +package use_cases.task_management.task_deletion_use_case; import entities.Course; import entities.StudentUser; diff --git a/src/main/java/task_deletion_use_case/TaskDeletionResponseModel.java b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionResponseModel.java similarity index 73% rename from src/main/java/task_deletion_use_case/TaskDeletionResponseModel.java rename to src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionResponseModel.java index 5696a84..1e9b95d 100644 --- a/src/main/java/task_deletion_use_case/TaskDeletionResponseModel.java +++ b/src/main/java/use_cases/task_management/task_deletion_use_case/TaskDeletionResponseModel.java @@ -1,4 +1,4 @@ -package task_deletion_use_case; +package use_cases.task_management.task_deletion_use_case; public class TaskDeletionResponseModel { private String title; diff --git a/src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java b/src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java similarity index 69% rename from src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java rename to src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java index de154a0..a2e4492 100644 --- a/src/main/java/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java +++ b/src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistInteractor.java @@ -1,4 +1,4 @@ -package tasks_to_student_tasklist_use_case; +package use_cases.task_management.tasks_to_student_tasklist_use_case; public class TaskToTasklistInteractor { // request model is the student's id and the course id diff --git a/src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java b/src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java new file mode 100644 index 0000000..b271f53 --- /dev/null +++ b/src/main/java/use_cases/task_management/tasks_to_student_tasklist_use_case/TaskToTasklistPresenter.java @@ -0,0 +1,4 @@ +package use_cases.task_management.tasks_to_student_tasklist_use_case; + +public interface TaskToTasklistPresenter { +} diff --git a/src/main/java/test_creation_use_case/TestCreationInputBoundary.java b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInputBoundary.java similarity index 66% rename from src/main/java/test_creation_use_case/TestCreationInputBoundary.java rename to src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInputBoundary.java index 50948c8..b5c738f 100644 --- a/src/main/java/test_creation_use_case/TestCreationInputBoundary.java +++ b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInputBoundary.java @@ -1,6 +1,4 @@ -package test_creation_use_case; - -import entities.StudentUser; +package use_cases.task_management.test_creation_use_case; public interface TestCreationInputBoundary { TestCreationResponseModel create(TestCreationRequestModel requestModel); diff --git a/src/main/java/test_creation_use_case/TestCreationInteractor.java b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInteractor.java similarity index 92% rename from src/main/java/test_creation_use_case/TestCreationInteractor.java rename to src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInteractor.java index 9b06ee1..fde4922 100644 --- a/src/main/java/test_creation_use_case/TestCreationInteractor.java +++ b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationInteractor.java @@ -1,9 +1,9 @@ -package test_creation_use_case; +package use_cases.task_management.test_creation_use_case; import entities.StudentUser; import entities.TaskMap; import entities.Test; -import read_write.TaskReadWrite; +import use_cases.task_management.read_write.TaskReadWrite; import java.time.LocalDateTime; diff --git a/src/main/java/test_creation_use_case/TestCreationPresenter.java b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationPresenter.java similarity index 76% rename from src/main/java/test_creation_use_case/TestCreationPresenter.java rename to src/main/java/use_cases/task_management/test_creation_use_case/TestCreationPresenter.java index 0acbf05..2766ee7 100644 --- a/src/main/java/test_creation_use_case/TestCreationPresenter.java +++ b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationPresenter.java @@ -1,4 +1,4 @@ -package test_creation_use_case; +package use_cases.task_management.test_creation_use_case; public interface TestCreationPresenter { TestCreationResponseModel prepareSuccessView(TestCreationResponseModel response); diff --git a/src/main/java/test_creation_use_case/TestCreationRequestModel.java b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationRequestModel.java similarity index 93% rename from src/main/java/test_creation_use_case/TestCreationRequestModel.java rename to src/main/java/use_cases/task_management/test_creation_use_case/TestCreationRequestModel.java index c95a254..7f228d7 100644 --- a/src/main/java/test_creation_use_case/TestCreationRequestModel.java +++ b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationRequestModel.java @@ -1,4 +1,4 @@ -package test_creation_use_case; +package use_cases.task_management.test_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/test_creation_use_case/TestCreationResponseModel.java b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationResponseModel.java similarity index 76% rename from src/main/java/test_creation_use_case/TestCreationResponseModel.java rename to src/main/java/use_cases/task_management/test_creation_use_case/TestCreationResponseModel.java index 1e593c3..0a2a61c 100644 --- a/src/main/java/test_creation_use_case/TestCreationResponseModel.java +++ b/src/main/java/use_cases/task_management/test_creation_use_case/TestCreationResponseModel.java @@ -1,4 +1,4 @@ -package test_creation_use_case; +package use_cases.task_management.test_creation_use_case; import java.time.LocalDateTime; diff --git a/src/main/java/test_edit_use_case/TestEditInputBoundary.java b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditInputBoundary.java similarity index 67% rename from src/main/java/test_edit_use_case/TestEditInputBoundary.java rename to src/main/java/use_cases/task_management/test_edit_use_case/TestEditInputBoundary.java index b897c9d..e1e79f6 100644 --- a/src/main/java/test_edit_use_case/TestEditInputBoundary.java +++ b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditInputBoundary.java @@ -1,4 +1,4 @@ -package test_edit_use_case; +package use_cases.task_management.test_edit_use_case; public interface TestEditInputBoundary { TestEditResponseModel edit(TestEditRequestModel requestModel); diff --git a/src/main/java/test_edit_use_case/TestEditInteractor.java b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditInteractor.java similarity index 93% rename from src/main/java/test_edit_use_case/TestEditInteractor.java rename to src/main/java/use_cases/task_management/test_edit_use_case/TestEditInteractor.java index 72af6b1..9d78293 100644 --- a/src/main/java/test_edit_use_case/TestEditInteractor.java +++ b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditInteractor.java @@ -1,4 +1,4 @@ -package test_edit_use_case; +package use_cases.task_management.test_edit_use_case; public class TestEditInteractor implements TestEditInputBoundary { TestEditPresenter presenter; diff --git a/src/main/java/test_edit_use_case/TestEditPresenter.java b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditPresenter.java similarity index 76% rename from src/main/java/test_edit_use_case/TestEditPresenter.java rename to src/main/java/use_cases/task_management/test_edit_use_case/TestEditPresenter.java index 6f83c70..596d3b0 100644 --- a/src/main/java/test_edit_use_case/TestEditPresenter.java +++ b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditPresenter.java @@ -1,4 +1,4 @@ -package test_edit_use_case; +package use_cases.task_management.test_edit_use_case; public interface TestEditPresenter { TestEditResponseModel prepareSuccessView(TestEditResponseModel responseModel); diff --git a/src/main/java/test_edit_use_case/TestEditRequestModel.java b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditRequestModel.java similarity index 95% rename from src/main/java/test_edit_use_case/TestEditRequestModel.java rename to src/main/java/use_cases/task_management/test_edit_use_case/TestEditRequestModel.java index bf7f5e8..ddf65b3 100644 --- a/src/main/java/test_edit_use_case/TestEditRequestModel.java +++ b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditRequestModel.java @@ -1,4 +1,4 @@ -package test_edit_use_case; +package use_cases.task_management.test_edit_use_case; import entities.Test; diff --git a/src/main/java/test_edit_use_case/TestEditResponseModel.java b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditResponseModel.java similarity index 72% rename from src/main/java/test_edit_use_case/TestEditResponseModel.java rename to src/main/java/use_cases/task_management/test_edit_use_case/TestEditResponseModel.java index 0739245..069380c 100644 --- a/src/main/java/test_edit_use_case/TestEditResponseModel.java +++ b/src/main/java/use_cases/task_management/test_edit_use_case/TestEditResponseModel.java @@ -1,4 +1,4 @@ -package test_edit_use_case; +package use_cases.task_management.test_edit_use_case; public class TestEditResponseModel { String title; diff --git a/src/test/java/FileUserTest.java b/src/test/java/FileUserTest.java index 8206db8..9f76778 100644 --- a/src/test/java/FileUserTest.java +++ b/src/test/java/FileUserTest.java @@ -1,10 +1,6 @@ -import entities.StudentUser; import org.junit.jupiter.api.Test; //import screens.FileUser2; -import user_register_usecase.StudentSaveRequest; -import java.io.IOException; -import java.time.LocalDateTime; public class FileUserTest { diff --git a/src/test/java/progress_tracker_use_case/ProgressTrackerTest.java b/src/test/java/progress_tracker_use_case/ProgressTrackerTest.java new file mode 100644 index 0000000..d5c5b11 --- /dev/null +++ b/src/test/java/progress_tracker_use_case/ProgressTrackerTest.java @@ -0,0 +1,9 @@ +package progress_tracker_use_case; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + + +public class ProgressTrackerTest { + +} diff --git a/src/test/java/scheduler_use_case/SchedulerInteractorTest.java b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java index f2e69fb..c6e756a 100644 --- a/src/test/java/scheduler_use_case/SchedulerInteractorTest.java +++ b/src/test/java/scheduler_use_case/SchedulerInteractorTest.java @@ -2,9 +2,9 @@ // //import entities.*; //import org.junit.jupiter.api.Test; -//import schedule_conflict_use_case.ScheduleConflictPresenter; -//import screens.ScheduleConflictResponseFormatter; -//import screens.SchedulerResponseFormatter; +//import use_cases.calendar_scheduler.schedule_conflict_use_case.ScheduleConflictPresenter; +//import screens.calendar_scheduler.ScheduleConflictResponseFormatter; +//import screens.calendar_scheduler.SchedulerResponseFormatter; // //import java.time.LocalDateTime; // From e639a711c586ca22a96804dd8af9cfb79f02695c Mon Sep 17 00:00:00 2001 From: Tiare Mar Date: Mon, 28 Nov 2022 17:21:47 -0500 Subject: [PATCH 14/14] courses.csv should not have been pushed --- src/main/java/data/courses.csv | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src/main/java/data/courses.csv diff --git a/src/main/java/data/courses.csv b/src/main/java/data/courses.csv deleted file mode 100644 index 122444c..0000000 --- a/src/main/java/data/courses.csv +++ /dev/null @@ -1 +0,0 @@ -course_name,course_instructor,tasks?