Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Schedule Feature (Partial) #142

Merged
merged 8 commits into from
Mar 28, 2021

Conversation

glatiuden
Copy link
Collaborator

@glatiuden glatiuden commented Mar 25, 2021

Part 1 of #133

Changelog

  • Added Event (an abstract superclass of Appointment and Schedule). Purpose of this superclass to allow the new proposed Timetable Ui to show both Appointment and Schedule.
  • Slight modification to Appointment to inherit from Event
  • Added Schedule and its respective variable classes
  • Added EventList, ScheduleList and ScheduleTracker
  • Added AddScheduleCommand and DeleteScheduleCommand and its respective Parser.

Upon merging this PR, the next PR will include (Completed):

  • ListScheduleCommand and EditScheduleCommand and its respective parsers
  • Timetable Ui

In the upcoming PR:

  • Modify ModelManager constructor to take in ScheduleTracker (not implemented in this PR to avoid huge PR)
  • JUnit test cases for the new Java classes
  • Reminder and its respective commands

@jared98lyj
Copy link

LGTM

jared98lyj
jared98lyj previously approved these changes Mar 26, 2021
kingsleykuan
kingsleykuan previously approved these changes Mar 27, 2021
Copy link

@kingsleykuan kingsleykuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but it seems there are some merge conflicts. Also see my comment below (no change necessarily required).


/**
* The API of the Model component.
*/
public interface Model {
public interface Model extends ScheduleModel {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am slightly concerned about having Model extend ScheduleModel in terms of design, but I understand why it's done this way for abstraction and to maintain compatibility. If there is no better solution then it LGTM. Perhaps in a future PR we can abstract the different model interfaces out (for tutor, appointment, etc) and then have Model extend all of them for consistency.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted, then I'll shift it back to Model for meantime. If we decided to adopt this approach then I'll reinstate back in this file

@glatiuden glatiuden dismissed stale reviews from kingsleykuan and jared98lyj via 5f03d8d March 28, 2021 03:31
@glatiuden
Copy link
Collaborator Author

glatiuden commented Mar 28, 2021

Fixed merge conflicts and shifting of Schedule's interface methods to Model.java.

@codecov-io
Copy link

Codecov Report

Merging #142 (b92685e) into master (06ab821) will decrease coverage by 3.30%.
The diff coverage is 9.82%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #142      +/-   ##
============================================
- Coverage     51.97%   48.67%   -3.31%     
- Complexity      621      625       +4     
============================================
  Files           143      158      +15     
  Lines          2832     3059     +227     
  Branches        329      359      +30     
============================================
+ Hits           1472     1489      +17     
- Misses         1258     1467     +209     
- Partials        102      103       +1     
Impacted Files Coverage Δ Complexity Δ
src/main/java/seedu/address/MainApp.java 0.00% <0.00%> (ø) 0.00 <0.00> (ø)
...main/java/seedu/address/commons/core/Messages.java 0.00% <ø> (ø) 0.00 <0.00> (ø)
.../commands/schedulecommands/AddScheduleCommand.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
...mmands/schedulecommands/DeleteScheduleCommand.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
...in/java/seedu/address/logic/parser/ParserUtil.java 69.15% <0.00%> (-7.13%) 24.00 <0.00> (ø)
...seedu/address/logic/parser/TutorTrackerParser.java 46.87% <0.00%> (-3.13%) 11.00 <0.00> (ø)
...arser/scheduleparser/AddScheduleCommandParser.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
...er/scheduleparser/DeleteScheduleCommandParser.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
...main/java/seedu/address/model/event/EventList.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
...odel/event/exceptions/DuplicateEventException.java 0.00% <0.00%> (ø) 0.00 <0.00> (?)
... and 28 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 06ab821...b92685e. Read the comment docs.

Copy link

@kingsleykuan kingsleykuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jared98lyj
Copy link

LGTM

Copy link

@jared98lyj jared98lyj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jared98lyj jared98lyj merged commit ea03daf into AY2021S2-CS2103-T14-3:master Mar 28, 2021
@glatiuden glatiuden linked an issue Mar 28, 2021 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Skeleton for Schedule Commands
4 participants