From 6e8326d23590da2f8175d916c8439c3d7b409c5b Mon Sep 17 00:00:00 2001 From: ryanguai Date: Mon, 17 Oct 2022 02:33:16 +0800 Subject: [PATCH] Create PlantUML sequence diagram and update DG for add/delete tag --- docs/DeveloperGuide.md | 77 +++++++---------------- docs/diagrams/AddTagSequenceDiagram.puml | 62 ++++++++++++++++++ docs/diagrams/UndoSequenceDiagram.puml | 53 ---------------- docs/images/AddTagSequenceDiagram.png | Bin 0 -> 72801 bytes docs/images/UndoSequenceDiagram.png | Bin 33034 -> 0 bytes 5 files changed, 84 insertions(+), 108 deletions(-) create mode 100644 docs/diagrams/AddTagSequenceDiagram.puml delete mode 100644 docs/diagrams/UndoSequenceDiagram.puml create mode 100644 docs/images/AddTagSequenceDiagram.png delete mode 100644 docs/images/UndoSequenceDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1f234a553c4..59e08546eed 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -154,89 +154,56 @@ Classes used by multiple components are in the `seedu.addressbook.commons` packa This section describes some noteworthy details on how certain features are implemented. -### \[Proposed\] Undo/redo feature +### \[Proposed\] Add/delete tag feature #### Proposed Implementation -The proposed undo/redo mechanism is facilitated by `VersionedAddressBook`. It extends `AddressBook` with an undo/redo history, stored internally as an `addressBookStateList` and `currentStatePointer`. Additionally, it implements the following operations: +The proposed add/delete tag mechanism operates for both contacts and tasks in YellowBook. -* `VersionedAddressBook#commit()` — Saves the current address book state in its history. -* `VersionedAddressBook#undo()` — Restores the previous address book state from its history. -* `VersionedAddressBook#redo()` — Restores a previously undone address book state from its history. +Every instance of AddTagCommand and DeleteTagCommand is created with two booleans. +For AddTagCommand, they are addTagToTask and addTagToContact. +For DeleteTagCommand, they are removeTagFromTask and removeTagFromContact. +Only one of these booleans will be true. Otherwise, an exception is thrown. -These operations are exposed in the `Model` interface as `Model#commitAddressBook()`, `Model#undoAddressBook()` and `Model#redoAddressBook()` respectively. +Depending on the status of these booleans, an EditTaskDescriptor or EditPersonDescriptor is created respectively. -Given below is an example usage scenario and how the undo/redo mechanism behaves at each step. +This descriptor object is then used to modify the list of tags attached to the selected task/contact. -Step 1. The user launches the application for the first time. The `VersionedAddressBook` will be initialized with the initial address book state, and the `currentStatePointer` pointing to that single address book state. +A new contact/task is created, with all attributes copied over from the original person, except for the list of tags, where the modified version is used. -![UndoRedoState0](images/UndoRedoState0.png) +This contact/task then replaces the previous contact/task in the YellowBook via `AddressBook#setPerson()`. -Step 2. The user executes `delete 5` command to delete the 5th person in the address book. The `delete` command calls `Model#commitAddressBook()`, causing the modified state of the address book after the `delete 5` command executes to be saved in the `addressBookStateList`, and the `currentStatePointer` is shifted to the newly inserted address book state. +Given below is an example usage scenario and how the add/delete tag mechanism behaves at each step. -![UndoRedoState1](images/UndoRedoState1.png) +Step 1. The user executes `addL c/1 t/CS2103T` to add the tag "CS2103T" to the first contact in the contact list. -Step 3. The user executes `add n/David …​` to add a new person. The `add` command also calls `Model#commitAddressBook()`, causing another modified address book state to be saved into the `addressBookStateList`. - -![UndoRedoState2](images/UndoRedoState2.png) - -
:information_source: **Note:** If a command fails its execution, it will not call `Model#commitAddressBook()`, so the address book state will not be saved into the `addressBookStateList`. +
:information_source: **Note:** The above command will fail if the contact list is empty. An error message will be displayed informing the user.
-Step 4. The user now decides that adding the person was a mistake, and decides to undo that action by executing the `undo` command. The `undo` command will call `Model#undoAddressBook()`, which will shift the `currentStatePointer` once to the left, pointing it to the previous address book state, and restores the address book to that state. - -![UndoRedoState3](images/UndoRedoState3.png) +Step 2. The user now decides that adding the tag was a mistake, and decides to undo that action by executing `deleteT c/1 l/CS2103T`. -
:information_source: **Note:** If the `currentStatePointer` is at index 0, pointing to the initial AddressBook state, then there are no previous AddressBook states to restore. The `undo` command uses `Model#canUndoAddressBook()` to check if this is the case. If so, it will return an error to the user rather -than attempting to perform the undo. +
:information_source: **Note:** The tag provided in the `deleteL` command must be an exact match for that provided in the `addL` command. Matching is case-sensitive. Otherwise, YellowBook will display an error message stating that no such tag is present on the selected user.
The following sequence diagram shows how the undo operation works: -![UndoSequenceDiagram](images/UndoSequenceDiagram.png) +![AddTagSequenceDiagram](images/AddTagSequenceDiagram.png)
:information_source: **Note:** The lifeline for `UndoCommand` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram. -
- -The `redo` command does the opposite — it calls `Model#redoAddressBook()`, which shifts the `currentStatePointer` once to the right, pointing to the previously undone state, and restores the address book to that state. - -
:information_source: **Note:** If the `currentStatePointer` is at index `addressBookStateList.size() - 1`, pointing to the latest address book state, then there are no undone AddressBook states to restore. The `redo` command uses `Model#canRedoAddressBook()` to check if this is the case. If so, it will return an error to the user rather than attempting to perform the redo. - -
- -Step 5. The user then decides to execute the command `list`. Commands that do not modify the address book, such as `list`, will usually not call `Model#commitAddressBook()`, `Model#undoAddressBook()` or `Model#redoAddressBook()`. Thus, the `addressBookStateList` remains unchanged. - -![UndoRedoState4](images/UndoRedoState4.png) - -Step 6. The user executes `clear`, which calls `Model#commitAddressBook()`. Since the `currentStatePointer` is not pointing at the end of the `addressBookStateList`, all address book states after the `currentStatePointer` will be purged. Reason: It no longer makes sense to redo the `add n/David …​` command. This is the behavior that most modern desktop applications follow. - -![UndoRedoState5](images/UndoRedoState5.png) - -The following activity diagram summarizes what happens when a user executes a new command: - - - #### Design considerations: **Aspect: How undo & redo executes:** -* **Alternative 1 (current choice):** Saves the entire address book. - * Pros: Easy to implement. - * Cons: May have performance issues in terms of memory usage. - -* **Alternative 2:** Individual command knows how to undo/redo by - itself. - * Pros: Will use less memory (e.g. for `delete`, just save the person being deleted). - * Cons: We must ensure that the implementation of each individual command are correct. - -_{more aspects and alternatives to be added}_ - -### \[Proposed\] Data archiving +* **Alternative 1 (current choice):** Implement a static class to edit tag list. + * Pros: Preserves immutability of Contact and Task. + * Cons: Longer code, requires writing a new class. -_{Explain here how the data archiving feature will be implemented}_ +* **Alternative 2:** Use the existing EditContact and EditTask classes. + * Pros: Requires no additional code. + * Cons: Increases coupling. Will fail if the associated classes stop working. -------------------------------------------------------------------------------------------------------------------- diff --git a/docs/diagrams/AddTagSequenceDiagram.puml b/docs/diagrams/AddTagSequenceDiagram.puml new file mode 100644 index 00000000000..393bf6135b6 --- /dev/null +++ b/docs/diagrams/AddTagSequenceDiagram.puml @@ -0,0 +1,62 @@ +@startuml +!include style.puml + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR +participant ":AddTagCommandParser" as AddTagCommandParser LOGIC_COLOR +participant ":AddTagCommand" as AddTagCommand LOGIC_COLOR +end box + +box Model MODEL_COLOR_T1 +participant ":Model" as Model MODEL_COLOR +participant ":AddressBook" as AddressBook MODEL_COLOR +end box +[-> LogicManager : execute(addL) +activate LogicManager + +LogicManager -> AddressBookParser : parseCommand(addL) +activate AddressBookParser + +create AddTagCommandParser +AddressBookParser -> AddTagCommandParser +activate AddTagCommandParser + +AddressBookParser -> AddTagCommandParser : parse(arguments) + +create AddTagCommand +AddTagCommandParser -> AddTagCommand +activate AddTagCommand + +AddTagCommand --> AddTagCommandParser +deactivate AddTagCommand + +AddTagCommandParser --> AddressBookParser +deactivate AddTagCommandParser + +AddressBookParser --> LogicManager +deactivate AddressBookParser + +LogicManager -> AddTagCommand : execute() +activate AddTagCommand + +AddTagCommand -> Model : setPerson() +activate Model + +Model -> AddressBook : setPerson() +activate AddressBook + +AddressBook --> Model : +deactivate AddressBook + +Model --> AddTagCommand +deactivate Model + +AddTagCommand --> LogicManager : result +deactivate AddTagCommand +AddTagCommand -[hidden]-> LogicManager : result +destroy AddTagCommand + +[<--LogicManager +deactivate LogicManager +@enduml diff --git a/docs/diagrams/UndoSequenceDiagram.puml b/docs/diagrams/UndoSequenceDiagram.puml deleted file mode 100644 index 410aab4e412..00000000000 --- a/docs/diagrams/UndoSequenceDiagram.puml +++ /dev/null @@ -1,53 +0,0 @@ -@startuml -!include style.puml - -box Logic LOGIC_COLOR_T1 -participant ":LogicManager" as LogicManager LOGIC_COLOR -participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR -participant "u:UndoCommand" as UndoCommand LOGIC_COLOR -end box - -box Model MODEL_COLOR_T1 -participant ":Model" as Model MODEL_COLOR -participant ":VersionedAddressBook" as VersionedAddressBook MODEL_COLOR -end box -[-> LogicManager : execute(undo) -activate LogicManager - -LogicManager -> AddressBookParser : parseCommand(undo) -activate AddressBookParser - -create UndoCommand -AddressBookParser -> UndoCommand -activate UndoCommand - -UndoCommand --> AddressBookParser -deactivate UndoCommand - -AddressBookParser --> LogicManager : u -deactivate AddressBookParser - -LogicManager -> UndoCommand : execute() -activate UndoCommand - -UndoCommand -> Model : undoAddressBook() -activate Model - -Model -> VersionedAddressBook : undo() -activate VersionedAddressBook - -VersionedAddressBook -> VersionedAddressBook :resetData(ReadOnlyAddressBook) -VersionedAddressBook --> Model : -deactivate VersionedAddressBook - -Model --> UndoCommand -deactivate Model - -UndoCommand --> LogicManager : result -deactivate UndoCommand -UndoCommand -[hidden]-> LogicManager : result -destroy UndoCommand - -[<--LogicManager -deactivate LogicManager -@enduml diff --git a/docs/images/AddTagSequenceDiagram.png b/docs/images/AddTagSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc3412176b38641955957edc71c457ad0cae343 GIT binary patch literal 72801 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 DUl&I< literal 0 HcmV?d00001 diff --git a/docs/images/UndoSequenceDiagram.png b/docs/images/UndoSequenceDiagram.png deleted file mode 100644 index 6addcd3a8d9c6b174cf2f80af8a6782e5ccc4c28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33034 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