From 7610cf7c3ccb2bffd47c689b2e19c77e10e878ba Mon Sep 17 00:00:00 2001 From: Licheng-Wu Date: Tue, 20 Oct 2020 23:44:52 +0800 Subject: [PATCH] Update Developer Guide to include Find Exercises feature Add sequence diagram for Find Exercises using PlantUML --- docs/DeveloperGuide.md | 14 ++++ .../FindExercisesSequenceDiagram.puml | 69 ++++++++++++++++++ docs/images/FindExercisesSequenceDiagram.png | Bin 0 -> 62284 bytes 3 files changed, 83 insertions(+) create mode 100644 docs/diagrams/FindExercisesSequenceDiagram.puml create mode 100644 docs/images/FindExercisesSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 816b12889ed..87c92a263c8 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -217,6 +217,20 @@ _{more aspects and alternatives to be added}_ _{Explain here how the data archiving feature will be implemented}_ +### Find exercises + +The find exercises feature is implemented using `FindExercisesCommandParser`, as well as the following command: +* `FindExercisesCommand`, to be executed when the user inputs the command into fitNUS + +`FindExercisesCommandParser` takes in the user input and parses them to return a FindExercisesCommand containing the +corresponding predicate for finding the exercises. When executed, `FindExercisesCommand` will set the predicate of +the respective `FilteredList` for exercises in `ModelManager` such that only exercises matching the predicate will be +displayed in the list. + +Given below is the Sequence Diagram for interactions within the Logic component for the execute("find_exercises bench") +API call. +![FindExercisesSequenceDiagram](images/FindExercisesSequenceDiagram.png) + -------------------------------------------------------------------------------------------------------------------- diff --git a/docs/diagrams/FindExercisesSequenceDiagram.puml b/docs/diagrams/FindExercisesSequenceDiagram.puml new file mode 100644 index 00000000000..3698791fcee --- /dev/null +++ b/docs/diagrams/FindExercisesSequenceDiagram.puml @@ -0,0 +1,69 @@ +@startuml +!include style.puml + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR +participant ":FindExercisesCommandParser" as FindExercisesCommandParser LOGIC_COLOR +participant "f:FindExercisesCommand" as FindExercisesCommand LOGIC_COLOR +participant ":CommandResult" as CommandResult LOGIC_COLOR +end box + +box Model MODEL_COLOR_T1 +participant ":Model" as Model MODEL_COLOR +end box + +[-> LogicManager : execute("find_exercises bench") +activate LogicManager + +LogicManager -> AddressBookParser : parseCommand("find_exercises bench") +activate AddressBookParser + +create FindExercisesCommandParser +AddressBookParser -> FindExercisesCommandParser +activate FindExercisesCommandParser + +FindExercisesCommandParser --> AddressBookParser +deactivate FindExercisesCommandParser + +AddressBookParser -> FindExercisesCommandParser : parse("bench") +activate FindExercisesCommandParser + +create FindExercisesCommand +FindExercisesCommandParser -> FindExercisesCommand +activate FindExercisesCommand + +FindExercisesCommand --> FindExercisesCommandParser : f +deactivate FindExercisesCommand + +FindExercisesCommandParser --> AddressBookParser : f +deactivate FindExercisesCommandParser +'Hidden arrow to position the destroy marker below the end of the activation bar. +FindExercisesCommandParser -[hidden]-> AddressBookParser +destroy FindExercisesCommandParser + +AddressBookParser --> LogicManager : f +deactivate AddressBookParser + +LogicManager -> FindExercisesCommand : execute() +activate FindExercisesCommand + +FindExercisesCommand-> Model : updateFilteredExerciseList(predicate) +activate Model + +Model --> FindExercisesCommand +deactivate Model + +create CommandResult +FindExercisesCommand -> CommandResult +activate CommandResult + +CommandResult --> FindExercisesCommand +deactivate CommandResult + +FindExercisesCommand --> LogicManager : result +deactivate FindExercisesCommand + +[<--LogicManager +deactivate LogicManager +@enduml diff --git a/docs/images/FindExercisesSequenceDiagram.png b/docs/images/FindExercisesSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..a516bb50aaf88f299d47b4b491fcfde0b694ce2f GIT binary patch literal 62284 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 literal 0 HcmV?d00001