From 57559125394ed8f30e2bc61c9b68864ff55f356f Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 01:40:00 +0800 Subject: [PATCH 01/27] Update Item and Creating an Item section of DG --- docs/_dg/implementations/ItemFeatures.md | 43 ++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 2785e0ec7bc..4214036f518 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -17,12 +17,51 @@ #### General Implementation Details - +The Item functionality is represented by an internal `UniqueItemList` stored in FoodRem. An item is represented as an `Item` object, which is stored within this `UniqueItemList`. + +Each `Item` can store a number of attributes. The related attributes are: +* `ItemName`: The name of the Item. +* `ItemQuantity`: The number of units of an Item. +* `ItemBoughtDate`: The date when the Item was bought. +* `ItemExpiryDate`: The date when the Item expires. +* `ItemPrice`: The cost of one unit of the Item. +* `ItemRemark`: Any attached remarks to the Item. + +Regarding the attributes, here are a few things to note: +* All attributes except `ItemName` is optional. +* The Item value is the `ItemPrice` multiplied by the `ItemQuantity`. This is used for the [Statistics](#statistics-features) feature. + +![model_diagram](images/BetterModelClassDiagram.png) #### General Design Considerations +The design of Items models very closely to the implementation of a `Person` class in the original AddressBook3 (AB3) codebase, of which FoodRem adapted from. However, there are a few modifications made: +* The `Person` class was modified to fit the business logic of FoodRem. For example, renaming it to `Item`, and including different attributes, as mentioned above. +* Addition of new helper and getter methods +* Addition of [Tags](#tag-related-features), where Items stores its own sets of associated `Tag` objects in an internal `Set`. + +It should be noted that the `UniqueItemList` referenced in `ModelManager` is immutable. To interact with Items, `ObservableList` instances and its child classes, `FilteredList` and `SortedList`, are used in the Commands. For example, (filtering an item by its tag name)[#filtering-items-by-tag-name] would modify the `filteredItems` list (which is a `FilteredList`). + #### Creating an Item - + +##### Overview +The `new` command creates a new `Item` in FoodRem, which forms the core business logic of being able to represent an inventory item. + +The sequence diagram to show the interactions between the different components during a `new` command is as such: + + + +##### Feature Details +1. The user specifies an item name for the Item to create. Optionally, the user can specify the item quantity, bought date, expiry date, price, and any remarks. +2. If the item name is not provided, or if a wrong command input is provided, the user will be prompted to enter the command correctly via an error message. +3. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. +4. If the item storage of FoodRem is full, an error is thrown to inform the user that the maximum item limit is reached, and that no new items can be added. +5. If step 4 completes without any exceptions, then the new `Item` is successfully created and stored inside the Item. + +##### Feature Considerations +It should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. This is because allowing Items with the same name will introduce additional complexity for other commands, and also presents confusingly to the user. This is room for improvement, as items ideally can have the same name. For example, the user should ideally have multiple `Potato` items with different bought and expiry dates. + +When providing multiple arguments with the same delimiter, the last instance of the repeat delimiter is taken during the `parse` command. #### Editing an Item From 9ded5438a28eac87023c33a1d40493d9b9a58271 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 05:21:56 +0800 Subject: [PATCH 02/27] Update Editing an Item section of DG --- docs/_dg/implementations/ItemFeatures.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 4214036f518..fe55af3361e 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -64,7 +64,26 @@ It should be noted that when checking for duplicates in the `UniqueItemList` ins When providing multiple arguments with the same delimiter, the last instance of the repeat delimiter is taken during the `parse` command. #### Editing an Item - + +##### Overview + +The `edit` feature edits the attached attributes of a specified `Item`, which is specified by the one-indexed `itemList` presented to the user. + +Here is the activity diagram showing the process of the `edit` command: + + + +##### Feature Details +1. The user specifies an item index that represents an `Item` to be edited. +2. If an invalid index is provided, the user is prompted to enter the command correctly via an error message. +3. If an invalid command input is provided, the user will be prompted to enter the command correctly via an error message. +4. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. +5. If step 4 completes without any exceptions, then the new `Item` is successfully edited. + +##### Feature Considerations +Similar to the `new` command, it should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. For example, if an `Item` with the name `Potato` already exists inside the inventory, then you cannot edit an existing `Item` to have the name `Potato`. + +When providing multiple arguments with the same delimiter, the last instance of the repeat delimiter is taken during the `parse` command. #### Sorting an Item From c47d9a5a4367848a0b96aa6825c842f4e8e818ed Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 05:30:45 +0800 Subject: [PATCH 03/27] Update Sort Item section of DG --- docs/_dg/implementations/ItemFeatures.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index fe55af3361e..115710ed183 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -22,6 +22,7 @@ The Item functionality is represented by an internal `UniqueItemList` stored in Each `Item` can store a number of attributes. The related attributes are: * `ItemName`: The name of the Item. * `ItemQuantity`: The number of units of an Item. +* `ItemUnit`: The unit of measurement of an Item. * `ItemBoughtDate`: The date when the Item was bought. * `ItemExpiryDate`: The date when the Item expires. * `ItemPrice`: The cost of one unit of the Item. @@ -98,6 +99,8 @@ The `sort` feature sorts the list of items currently displayed to the user by sp * Unit * Bought Date * Expiry Date +* Price +* Remarks Currently, sorting is performed ascendingly. A future implementation will allow sorting either ascendingly or descendingly. @@ -112,6 +115,5 @@ Currently, sorting is performed ascendingly. A future implementation will allow ##### Feature Considerations -There is a `SortedList` obtained from an immutable item list. When the `SortCommand` is executed to sort the list of items, one or more comparators are chosen depending on the provided sorting criteria. the comparators are combined into one comparator. The `SortedList` are sorted in the specified order of the Comparators. The UI tracks changes to the `SortedList` and displays the updated sorted item list. +There is a `SortedList` obtained from an immutable item list. When the `SortCommand` is executed to sort the list of items, depending on the input, the appropriate comparator is chosen and applied. The UI tracks changes to the `SortedList` and displays the updated sorted item list. -Notably, the `SortedList` wraps around a `FilteredList`, which wraps around an immutable `ObservableList`. From f6f87c6a511e2d4a97effdb1441fcdb2d98eddd3 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:11:09 +0800 Subject: [PATCH 04/27] Add new command sequence diagram --- docs/diagrams/NewItemSequenceDiagram.puml | 133 ++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docs/diagrams/NewItemSequenceDiagram.puml diff --git a/docs/diagrams/NewItemSequenceDiagram.puml b/docs/diagrams/NewItemSequenceDiagram.puml new file mode 100644 index 00000000000..63114a1c7a9 --- /dev/null +++ b/docs/diagrams/NewItemSequenceDiagram.puml @@ -0,0 +1,133 @@ + +@startuml +!include style.puml + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":FoodRemParser" as FoodRemParser LOGIC_COLOR +participant ":NewCommandParser" as NewCommandParser LOGIC_COLOR +participant ":ItemName" as ItemName LOGIC_COLOR +participant ":ItemQuantity" as ItemQuantity LOGIC_COLOR +participant ":ItemUnit" as ItemUnit LOGIC_COLOR +participant ":ItemBoughtDate" as ItemBoughtDate LOGIC_COLOR +participant ":ItemExpiryDate" as ItemExpiryDate LOGIC_COLOR +participant ":ItemPrice" as ItemPrice LOGIC_COLOR +participant ":ItemRemarks" as ItemRemarks LOGIC_COLOR +participant "item:Item" as Item LOGIC_COLOR +participant ":NewCommand" as NewCommand LOGIC_COLOR +participant ":ItemWithMessage" as ItemWithMessage 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("new n/itemname") +activate LogicManager + +LogicManager -> FoodRemParser : parseCommand("new n/itemname") +activate FoodRemParser + +create NewCommandParser +FoodRemParser -> NewCommandParser +activate NewCommandParser + +NewCommandParser --> FoodRemParser +deactivate NewCommandParser + +FoodRemParser -> NewCommandParser : parse("n/tagname") +activate NewCommandParser + +create ItemName +NewCommandParser -> ItemName +activate ItemName +ItemName --> NewCommandParser +deactivate ItemName + +create ItemQuantity +NewCommandParser -> ItemQuantity +activate ItemQuantity +ItemQuantity --> NewCommandParser +deactivate ItemQuantity + +create ItemUnit +NewCommandParser -> ItemUnit +activate ItemUnit +ItemUnit --> NewCommandParser +deactivate ItemUnit + +create ItemBoughtDate +NewCommandParser -> ItemBoughtDate +activate ItemBoughtDate +ItemBoughtDate --> NewCommandParser +deactivate ItemBoughtDate + +create ItemExpiryDate +NewCommandParser -> ItemExpiryDate +activate ItemExpiryDate +ItemExpiryDate --> NewCommandParser +deactivate ItemExpiryDate + +create ItemPrice +NewCommandParser -> ItemPrice +activate ItemPrice +ItemPrice --> NewCommandParser +deactivate ItemPrice + +create ItemRemarks +NewCommandParser -> ItemRemarks +activate ItemRemarks +ItemRemarks --> NewCommandParser +deactivate ItemRemarks + +create Item +NewCommandParser -> Item +activate Item +Item --> NewCommandParser +deactivate Item + +create NewCommand +NewCommandParser -> NewCommand +activate NewCommand +NewCommand --> NewCommandParser +deactivate NewCommand + +NewCommandParser --> FoodRemParser +deactivate NewCommandParser + +FoodRemParser --> LogicManager +deactivate FoodRemParser +destroy NewCommandParser + +LogicManager -> NewCommand : execute(model) +activate NewCommand + +NewCommand -> Model : addItem(newItem) +activate Model + +Model --> NewCommand +deactivate Model + +create ItemWithMessage +NewCommand -> ItemWithMessage +activate ItemWithMessage + +ItemWithMessage --> NewCommand +deactivate ItemWithMessage + +create CommandResult +NewCommand -> CommandResult +activate CommandResult + +CommandResult --> NewCommand +deactivate CommandResult + +NewCommand --> LogicManager +deactivate NewCommand + +[<--LogicManager +deactivate LogicManager +@enduml From 374fe862efe946ad58aece92fe516921b8ea5c0a Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:11:41 +0800 Subject: [PATCH 05/27] Add new command sequence diagram image --- docs/images/NewItemSequenceDiagram.png | Bin 0 -> 68406 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/NewItemSequenceDiagram.png diff --git a/docs/images/NewItemSequenceDiagram.png b/docs/images/NewItemSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..b944de046bb72174e2b30b1e4765e1b5a0bb1c18 GIT binary patch literal 68406 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�ML-;I4@&3`E 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 KpRo7B-TwpEu%A2t literal 0 HcmV?d00001 From ee9a71c113064d6adf10ddf45380c7db5b5f3e11 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:16:00 +0800 Subject: [PATCH 06/27] Include new command sequence diagram image in DG --- docs/_dg/implementations/ItemFeatures.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 115710ed183..74beb3e75ec 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -50,7 +50,9 @@ The `new` command creates a new `Item` in FoodRem, which forms the core business The sequence diagram to show the interactions between the different components during a `new` command is as such: - +![ItemSequenceDiagram](images/NewItemSequenceDiagram.png) + +Depending on your screen, the image may appear blurry or too small. This cannot be helped as the number of objects that are instantiated is quite large. Please save the image to your computer if you cannot view it. Failing that (or if you are on a PDF), zoom in onto the image to view it clearly. ##### Feature Details 1. The user specifies an item name for the Item to create. Optionally, the user can specify the item quantity, bought date, expiry date, price, and any remarks. From 1037ed0b60f3766547c167cdf1571329c7daaf41 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:28:59 +0800 Subject: [PATCH 07/27] Fix wrong command used in UML diagram --- docs/diagrams/NewItemSequenceDiagram.puml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/diagrams/NewItemSequenceDiagram.puml b/docs/diagrams/NewItemSequenceDiagram.puml index 63114a1c7a9..548bfcb73e1 100644 --- a/docs/diagrams/NewItemSequenceDiagram.puml +++ b/docs/diagrams/NewItemSequenceDiagram.puml @@ -38,7 +38,7 @@ activate NewCommandParser NewCommandParser --> FoodRemParser deactivate NewCommandParser -FoodRemParser -> NewCommandParser : parse("n/tagname") +FoodRemParser -> NewCommandParser : parse("n/itemname") activate NewCommandParser create ItemName From 2852a695f26aba10da4cad1e3d3ffbdfae7c7df4 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:29:20 +0800 Subject: [PATCH 08/27] Update NewItemSequenceDiagram.png --- docs/images/NewItemSequenceDiagram.png | Bin 68406 -> 68293 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/NewItemSequenceDiagram.png b/docs/images/NewItemSequenceDiagram.png index b944de046bb72174e2b30b1e4765e1b5a0bb1c18..709839cce227f14a115f513fb624d9a75100a638 100644 GIT binary patch delta 45300 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 E4|I-q^#A|> delta 45502 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 Date: Mon, 7 Nov 2022 06:44:09 +0800 Subject: [PATCH 09/27] Add UML diagram for edit command --- docs/diagrams/EditItemSequenceDiagram.puml | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 docs/diagrams/EditItemSequenceDiagram.puml diff --git a/docs/diagrams/EditItemSequenceDiagram.puml b/docs/diagrams/EditItemSequenceDiagram.puml new file mode 100644 index 00000000000..87cde8ec4fd --- /dev/null +++ b/docs/diagrams/EditItemSequenceDiagram.puml @@ -0,0 +1,110 @@ + +@startuml +!include style.puml + +box Logic LOGIC_COLOR_T1 +participant ":LogicManager" as LogicManager LOGIC_COLOR +participant ":FoodRemParser" as FoodRemParser LOGIC_COLOR +participant ":EditCommandParser" as EditCommandParser LOGIC_COLOR +participant ":Index" as Index LOGIC_COLOR +participant "editItemDescriptor:EditItemDescriptor" as EditItemDescriptor LOGIC_COLOR +participant ":EditCommand" as EditCommand LOGIC_COLOR +participant "editedItem:Item" as Item LOGIC_COLOR +participant ":ItemWithMessage" as ItemWithMessage 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("edit 1 n/newname") +activate LogicManager + +LogicManager -> FoodRemParser : parseCommand("edit 1 n/newname") +activate FoodRemParser + +create EditCommandParser +FoodRemParser -> EditCommandParser +activate EditCommandParser + +EditCommandParser --> FoodRemParser +deactivate EditCommandParser + +FoodRemParser -> EditCommandParser : parse("edit 1 n/newname") +activate EditCommandParser + +create Index +EditCommandParser -> Index +activate Index + +Index --> EditCommandParser +deactivate Index + +create EditItemDescriptor +EditCommandParser -> EditItemDescriptor +activate EditItemDescriptor + +EditItemDescriptor -> EditCommandParser +deactivate EditItemDescriptor +'Hidden arrow to position the destroy marker below the end of the activation bar. +EditItemDescriptor -[hidden]-> EditCommandParser +destroy EditItemDescriptor + +create EditCommand +EditCommandParser -> EditCommand +activate EditCommand + +EditCommand --> EditCommandParser +deactivate EditCommand + +EditCommandParser --> FoodRemParser +deactivate EditCommandParser + +FoodRemParser --> LogicManager +deactivate FoodRemParser +destroy EditCommandParser + +LogicManager -> EditCommand : execute(model) +activate EditCommand + +EditCommand -> Model : getCurrentList() +activate Model + +Model --> EditCommand +deactivate Model + +EditCommand -> EditCommand : createEditedItem(itemToEdit, editItemDescriptor) +activate EditCommand + +create Item +EditCommand -> Item +activate Item + +Item --> EditCommand +deactivate Item + +EditCommand --> EditCommand +deactivate EditCommand + +create ItemWithMessage +EditCommand -> ItemWithMessage +activate ItemWithMessage + +ItemWithMessage --> EditCommand +deactivate ItemWithMessage + +create CommandResult +EditCommand -> CommandResult +activate CommandResult + +CommandResult --> EditCommand +deactivate CommandResult + +deactivate EditCommand + +[<--LogicManager +deactivate LogicManager +@enduml From 19190ff12aaa40bcdc9e3281fb7db06ec3f734b8 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:44:26 +0800 Subject: [PATCH 10/27] Add UML diagram image for edit command --- docs/images/EditItemSequenceDiagram.png | Bin 0 -> 50320 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/EditItemSequenceDiagram.png diff --git a/docs/images/EditItemSequenceDiagram.png b/docs/images/EditItemSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb7b41a89492ee8b1166c21731cb7a8f14fbdcd GIT binary patch literal 50320 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 literal 0 HcmV?d00001 From 0f6e27b76b8d2c57e07fb9d7810d8f333bf71553 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:45:49 +0800 Subject: [PATCH 11/27] Include UML diagram for edit command in DG --- docs/_dg/implementations/ItemFeatures.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 74beb3e75ec..ef07fb9393c 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -74,7 +74,9 @@ The `edit` feature edits the attached attributes of a specified `Item`, which is Here is the activity diagram showing the process of the `edit` command: - +![ItemSequenceDiagram](images/EditItemSequenceDiagram.png) + +This diagram excludes the instantiation of the objects that represents attributes in an Item, e.g. `ItemQuantity`, `ItemUnit`. This is because including all of them would cause the UML diagram to be cluttered and too small to read. ##### Feature Details 1. The user specifies an item index that represents an `Item` to be edited. From b33427a505975b9141599f43ab3390602cd6be78 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:48:14 +0800 Subject: [PATCH 12/27] Remove redundant objects in UML diagram --- docs/diagrams/NewItemSequenceDiagram.puml | 42 ---------------------- docs/images/NewItemSequenceDiagram.png | Bin 68293 -> 40182 bytes 2 files changed, 42 deletions(-) diff --git a/docs/diagrams/NewItemSequenceDiagram.puml b/docs/diagrams/NewItemSequenceDiagram.puml index 548bfcb73e1..15450e10b68 100644 --- a/docs/diagrams/NewItemSequenceDiagram.puml +++ b/docs/diagrams/NewItemSequenceDiagram.puml @@ -7,12 +7,6 @@ participant ":LogicManager" as LogicManager LOGIC_COLOR participant ":FoodRemParser" as FoodRemParser LOGIC_COLOR participant ":NewCommandParser" as NewCommandParser LOGIC_COLOR participant ":ItemName" as ItemName LOGIC_COLOR -participant ":ItemQuantity" as ItemQuantity LOGIC_COLOR -participant ":ItemUnit" as ItemUnit LOGIC_COLOR -participant ":ItemBoughtDate" as ItemBoughtDate LOGIC_COLOR -participant ":ItemExpiryDate" as ItemExpiryDate LOGIC_COLOR -participant ":ItemPrice" as ItemPrice LOGIC_COLOR -participant ":ItemRemarks" as ItemRemarks LOGIC_COLOR participant "item:Item" as Item LOGIC_COLOR participant ":NewCommand" as NewCommand LOGIC_COLOR participant ":ItemWithMessage" as ItemWithMessage LOGIC_COLOR @@ -47,42 +41,6 @@ activate ItemName ItemName --> NewCommandParser deactivate ItemName -create ItemQuantity -NewCommandParser -> ItemQuantity -activate ItemQuantity -ItemQuantity --> NewCommandParser -deactivate ItemQuantity - -create ItemUnit -NewCommandParser -> ItemUnit -activate ItemUnit -ItemUnit --> NewCommandParser -deactivate ItemUnit - -create ItemBoughtDate -NewCommandParser -> ItemBoughtDate -activate ItemBoughtDate -ItemBoughtDate --> NewCommandParser -deactivate ItemBoughtDate - -create ItemExpiryDate -NewCommandParser -> ItemExpiryDate -activate ItemExpiryDate -ItemExpiryDate --> NewCommandParser -deactivate ItemExpiryDate - -create ItemPrice -NewCommandParser -> ItemPrice -activate ItemPrice -ItemPrice --> NewCommandParser -deactivate ItemPrice - -create ItemRemarks -NewCommandParser -> ItemRemarks -activate ItemRemarks -ItemRemarks --> NewCommandParser -deactivate ItemRemarks - create Item NewCommandParser -> Item activate Item diff --git a/docs/images/NewItemSequenceDiagram.png b/docs/images/NewItemSequenceDiagram.png index 709839cce227f14a115f513fb624d9a75100a638..5d46a76df8fcdd97ede9c75c7b949defa88705cb 100644 GIT binary patch literal 40182 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 literal 68293 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 I2QNMNKOR+R&Hw-a From c2a0aee663106c2a6327f15ec9164ac3cefa1d4b Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:48:47 +0800 Subject: [PATCH 13/27] Update description of new command --- docs/_dg/implementations/ItemFeatures.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index ef07fb9393c..1b3cc703c2a 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -52,7 +52,8 @@ The sequence diagram to show the interactions between the different components d ![ItemSequenceDiagram](images/NewItemSequenceDiagram.png) -Depending on your screen, the image may appear blurry or too small. This cannot be helped as the number of objects that are instantiated is quite large. Please save the image to your computer if you cannot view it. Failing that (or if you are on a PDF), zoom in onto the image to view it clearly. +This diagram excludes the instantiation of the objects that represents attributes in an Item, e.g. `ItemQuantity`, `ItemUnit`. This is because including all of them would cause the UML diagram to be cluttered and too small to read. + ##### Feature Details 1. The user specifies an item name for the Item to create. Optionally, the user can specify the item quantity, bought date, expiry date, price, and any remarks. From 2a7892b8421b979ccbf7bd693097e312f4b8fc22 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:50:32 +0800 Subject: [PATCH 14/27] Fix indexing --- docs/_dg/implementations/ItemFeatures.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 1b3cc703c2a..df4f77f5199 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -57,10 +57,10 @@ This diagram excludes the instantiation of the objects that represents attribute ##### Feature Details 1. The user specifies an item name for the Item to create. Optionally, the user can specify the item quantity, bought date, expiry date, price, and any remarks. -2. If the item name is not provided, or if a wrong command input is provided, the user will be prompted to enter the command correctly via an error message. -3. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. -4. If the item storage of FoodRem is full, an error is thrown to inform the user that the maximum item limit is reached, and that no new items can be added. -5. If step 4 completes without any exceptions, then the new `Item` is successfully created and stored inside the Item. +1. If the item name is not provided, or if a wrong command input is provided, the user will be prompted to enter the command correctly via an error message. +1. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. +1. If the item storage of FoodRem is full, an error is thrown to inform the user that the maximum item limit is reached, and that no new items can be added. +1. If step 4 completes without any exceptions, then the new `Item` is successfully created and stored inside the Item. ##### Feature Considerations It should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. This is because allowing Items with the same name will introduce additional complexity for other commands, and also presents confusingly to the user. This is room for improvement, as items ideally can have the same name. For example, the user should ideally have multiple `Potato` items with different bought and expiry dates. @@ -81,10 +81,10 @@ This diagram excludes the instantiation of the objects that represents attribute ##### Feature Details 1. The user specifies an item index that represents an `Item` to be edited. -2. If an invalid index is provided, the user is prompted to enter the command correctly via an error message. -3. If an invalid command input is provided, the user will be prompted to enter the command correctly via an error message. -4. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. -5. If step 4 completes without any exceptions, then the new `Item` is successfully edited. +1. If an invalid index is provided, the user is prompted to enter the command correctly via an error message. +1. If an invalid command input is provided, the user will be prompted to enter the command correctly via an error message. +1. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. +1. If step 4 completes without any exceptions, then the new `Item` is successfully edited. ##### Feature Considerations Similar to the `new` command, it should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. For example, if an `Item` with the name `Potato` already exists inside the inventory, then you cannot edit an existing `Item` to have the name `Potato`. @@ -95,8 +95,6 @@ When providing multiple arguments with the same delimiter, the last instance of ##### Overview - - The `sort` feature sorts the list of items currently displayed to the user by specified flag(s). It is possible to sort by one or more criteria. A list of available criteria for sorting includes: * Name From f2ffbbb6d46b5ff4f93fede9fa95527b4c2aa981 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 06:54:58 +0800 Subject: [PATCH 15/27] Update sort command UML diagram --- docs/diagrams/SortItemsSequenceDiagram.puml | 18 +++++------------- docs/images/SortItemsSequenceDiagram.png | Bin 38950 -> 33934 bytes 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/diagrams/SortItemsSequenceDiagram.puml b/docs/diagrams/SortItemsSequenceDiagram.puml index 151a2dd338f..b892c47412d 100644 --- a/docs/diagrams/SortItemsSequenceDiagram.puml +++ b/docs/diagrams/SortItemsSequenceDiagram.puml @@ -5,9 +5,8 @@ box Logic LOGIC_COLOR_T1 participant ":LogicManager" as LogicManager LOGIC_COLOR participant ":FoodRemParser" as FoodRemParser LOGIC_COLOR participant ":SortCommandParser" as SortCommandParser LOGIC_COLOR -participant "s:SortCommand" as SortCommand LOGIC_COLOR -participant ":ItemNameComparator" as ItemNameComparator LOGIC_COLOR -participant "c:ChainComparator" as ChainComparator LOGIC_COLOR +participant ":SortCommand" as SortCommand LOGIC_COLOR +participant "c:ItemNameComparator" as ItemNameComparator LOGIC_COLOR participant ":CommandResult" as CommandResult LOGIC_COLOR end box @@ -38,13 +37,6 @@ activate ItemNameComparator ItemNameComparator --> SortCommandParser deactivate ItemNameComparator -create ChainComparator -SortCommandParser -> ChainComparator -activate ChainComparator - -ChainComparator --> SortCommandParser -deactivate ChainComparator - create SortCommand SortCommandParser -> SortCommand activate SortCommand @@ -64,13 +56,13 @@ deactivate FoodRemParser LogicManager -> SortCommand : execute(model) activate SortCommand -SortCommand -> Model : updateSortedItemList() +SortCommand -> Model : updateSortedItemList(c) activate Model Model --> SortCommand deactivate Model -SortCommand -> Model : getSortedItemList() +SortCommand -> Model : getCurrentList() activate Model Model --> SortCommand @@ -83,7 +75,7 @@ activate CommandResult CommandResult --> SortCommand deactivate CommandResult -SortCommand --> LogicManager : result +SortCommand --> LogicManager deactivate SortCommand [<--LogicManager diff --git a/docs/images/SortItemsSequenceDiagram.png b/docs/images/SortItemsSequenceDiagram.png index b9bc7bdbdc3007fed0d1554c1c0eab39f5b856a4..267044d4548e794c7bae0c1de1672ee6ee6cf3f0 100644 GIT binary patch literal 33934 zcmd43bySsI*FL%>L_t6VL|RZpKtVx5kx&|>WYeW|m(sC8rAq`vK)PGHLun9^?oR3M z%|2_h!N^3v?J zwW$fSwz(<6y@wPK2>PlaRO$8Eb;vo;jNRvDMOE`jVIr5}X~aEu&ktC69wueV89pDl zB+3|wFkT;Cme2UgOOw#gwqo~LvTOmiN~&Emg>!R3g4$vOGPe=6=*P!=MJP!;;b)P{ zi(&jOh-kdVQ?3BEIMcgzY@|MPo6QzZn*)an{+?66`s~|_w6=73eHj!JXY@F3wEViF zkqf66E=NHFu{YbC8So#24IXXL7j!ezMd4Sv;b z89IgBj7jycoBVR3oie(|9(AuVzhCgojcyjjxcs4G@1X08<*jf@57k_bwUx5D*%CFh z_VE<#M_Cx;Pxs1ugG^;LbLrD-zVsY>uxN#&zZT2nn@;MvK}JQ^85TPesyz7dVnBzH z2}cS0qoH(W(c;eqrkG#Ibzo$R-?+1Ehi?~MWnn2P<1gHg?jtj!?Pf5|(0f?E4QC?K z#FwX(7Krc=QpXZUPiyxokwmwjc^rAJmkzOqgM&8yPMo2NfKK$zmE=$3f;^Cm*JYnq zy!UDm5me<*^_Pj04k~Hqot+=leKKQds$q+-9KyG_V@f>1-m360Ti7x*AIckDZ(}a) zkeK7;!Jc*L*W+qgwGR#F$c*VQ927n7$Wm5&1uGl93zaCYAa?KOOve5CF}4CKKF)}< zshKdXYNA#a+E2H9KIvxh-OZKJQ2zQtC&+i4BKyr%mlYdwQ^|TvGou~xV&O zbUF~L*T-eohN1t8GSeX>!zl9)c)7iEaLaucCO7vg z(YmQh?g{DrXxvr&tEpI43l9X9Zft#y;?9**m0YFr)IdBz3~wD=8yAX<~K5z37sl-&FM05 z&2s3{4@a187LLx`#VDki=d~)c%%DqN{@RFNnP2Hw0AC-pbbzCi^L*(*C%+rw6dQoG zu*a7e5PUgjeN04P<6Vv#Tp-1E*!BQEg&$?_6LM3C!}96pXkP?9Uiip&Zv|@QsL1B` zH)%tg-lLgR>-a(uGLQ1iei71jg)m)plW4fVHngbOhqmF(cb|bZ`o)L~sVT0D!&s#j zwqaP^v!<}1P&u5fHTPR|%9(~)GXCE$y-3o(P^tu4p72q+06l95+x>anWFkMiNk0+rUXY~mdJ;_{rnP2H+nCNYtgQlD;j5mQ>04Wm zk$34NeQ{~|rtx4`9WWS?7cj5Ogwx2JgZQL=ch@pu$&^{fg2-5j)5;jeAmWd<0tqHX z)^kkm+i++nRfqBl3CE&Ah=OcfSc^y$Qg_fHw;$4xrH=j@l|I_DDXz+^?;r3BJytj% zB6Y)t$OsPZH}~T~EMh+3K;>H$uU#EdIpTUyRG3P_aisLiJV`o;AQb`;N{ou}TQ)SL zU#)W7i#gt!W0ZG-9S-%g8%r53ON1Q{ruW>H&+yN zi+;h*$Xnr2A_Dcz^o+5R!s05}><#TzFJa|~I%i%JHB(@YKw9_ga$43G1SuKKCp;72MUnDnw% zp#hE#5!YwZYG4 zM_dWoyHEU8=MV7>d&P}oMoLpsy)GrgXs6D-!}vX=R96+`3Rsl$=7Obde8qKiD6`;$ z#u>iUVa#yr^~tCM)9vkr9%Ju=jhRFLa!g2n>NHx9C(ofTOtUI2a&I>wde^{T#WO-t z{q90Jmj5u1MPh1qX_-$imBPC8WTW$25pT~e_>E(za`!Ht3+rZ3Zu}MNo}L4GRw{nc z%fDA_rbYeMU{|LUcDz+RG4a;2aqo0uvfg5GPajM95_VRgWibRo4%VdesqFV27y)91 zbStqp)w*P8{~-{IBN3CB@P{Sa*H zE#4N`{6)F>NQbEHUO-7l#$>#G zdYKU(>8iztTSE(r=;!?iw;QQp_Pv?XLNf=8s${$PklW6{@E!U}HJ}IGl^SEW9}mPk zpT2r5lTgA+Qbo5X+GXdAz{=r66wAk}ijQr=GKY=^Evo4mFM_?tPhdDl@7yt{nDb+y zZ&h}g8HU(v+$%JGRk%YZvGc%eIN7M@UQn3eoCI^JU^R8=@`x=y3He7B&HKDnn}@6B zY`iQ;n>UD!=&X_mA6t1yL+(x}(BRvYI5K1IltC_y3llaTZr`y@eJ^3N{h&wrH184?`eCuKc%E!`ZrC4{V8uOOOTuo^|3Hp~(yisv{~s?d(B=wgYZG9MwfANzPc@ov8dGqZ4Sl?; z-0(v@_t-3>cCv)rH&>OQ2|mB;H2b~uE!Hc(y%(D0Hpc#uL_WiFrLXptmGzHztKpQ~ z*=#mU>{6dkChr3tGz$GF(MojFRM1#fY+=+P3TZK*z7uD~FuH*4r%cl2-@zPn4x$v^}* ztG^S$wce=Pibqx+N`{(Xbulc)+|9R|E{DB69eFeUd_q*CB@AOK$3fUjnlG^Yw-pzD z@rUN9eppy^u(V8jHLFAM_><#8_W(;3*I?zL!~V}|1iZB)A!T=&d;4gUucb{lNj`&} z8diarZf4^<{^Yz`Io2XVNC*pmZ0|YT{O;n=+>f^Rs@n_OJuRW(hr4sLGf{`XQi5we z5!X41m}Yq#rJ{HuVFz2K1UERaR;i7x>_`UL0w|ifU*F!{?z8pYt{g_Vo+D>t+pIcR zNL@wUu+aNLc07@luipY9&yU$|qhn=|lv zZ?IW&SATW%aG&Sx*5T1XIKx9Md~Z*VXVJIHNMjycSj_3}aua76`?AnevDMiwmvY>l z+(!0tupox-z@WPKcqxAf7|mE4XAYrnUzTeA^lTohqm75sWnW#hr{8RX(xwyQ5y_JD z)5q0E8wN4FnypzyCe2qYGfamHmxpqq9==LZDs06SlFl{VoK2H{Z0SNtQBgfG;ZI&{ z+L=hLTCCBPJN2kTqRGwTI4J@zG8B@xJ^cBmdHGA>pSypEblZh%88bl#fkCi#K)DG5iH<{kyXg=n388XHx z*eMhcc4j}`-&a&1iPU#Fj9RMR7=2>+R=7fg*W^j)ryiIiw0nkdpU0XX={gqToodq+ z^R-2aj=DmmqI#D{9K|zWyCdsEW{1x+@G0zErjK@Ra8yj3M^p!QP>odV3yxK3`uZqE z8Ywf4=lkBXSs7j}CoXL@=X-JxNf~X>M;*%hYkP6`@Yo+YC11E!T!eUaIJWebY3awT zT1ix#*Tz?8vbPS2E{ga~eSS!~T9L14e36xw$Kf;ellz(RqlJt0JXph7qH?r@ch&4H zV;o%aMfqAp0;atSX8ZV>)=SJifS+F!r;+i7;X4;jz!!(STFTkUsE${#2AC<1UGlwz zRh+-FTT3l{|G7Z>wvtdmGXvI{o3aGE4sYemNoUy2S(dD>9nY+Oj@Bcz??&tMKGIRa zWl;=T7pTHRKbNVLZe*P+{xP!EXP%VA)>1&sacd?F=CYW@6VIyM@T0Cyb4&FiK5xmB zJ0)Rvxl0^v16+#N*Q-~vYL4|hZIAYTjg3}s3RO|ahQZPEfL}}CnxZo11yeA|V?MB< zb?DET+{&{!W+5vGiR9)K2+(^^&;c9Cw%_y>2{rFu9?0Jh54T^fMtG8|V|*swhf&PD ztaZ73cc@suJvxeJ&glK`EhZIvpf$}lCK<)RxF{mIXEc0sfcf)7YjGD-Y3PsX&z%b? z`O-g_Y_k+#iwgz=e7jAu@O0swFv>Ui$Kn^EBr}nBGV}9(G+AdUVffZ(DDYWM`l)I9 zxMvQlDdgq1*VXT@N;(!e?rv*g-mxjy7O~0E(EL>#aqp$0u<(yp?WWa;W8C;i%VHP4 zh;2^p$Cl7@VfA_}n*SQ}0e?@CsVhTALSvYwi~ZIQ?&=PgZY9zn*X`>fz<>BfZY}O^ zCj^=u>UJ)m)jdafBn?Y{=z_d2I&><>l>XDtDFe>QT?*ka+zHD8*qX% zvw5`NKCJilZ*=&R2Uc(QQrQ>39$-|nip|a)pKn;2k?0*W zwI*Na6G84Y7p7U_U;~$^P?CO8jl;w<86=f@E4yXGr#q75= zxD)snltnLH{=BUy9$R*MOsA5|ax(CM`?AT9&3!bU?e1PooE@*Gn^wL`Vy$hubobXu za?Q+ojN0ZqREx|JaD3SUpZ=6o;N03>mPtt;PBlbThq^0GoiELO;s$TSGY3vg(_S~l zfF$U}?Dr@wOKJ;*@So#Tzf`yNi(5!LkZMur1qXR~wt97c`EJM&4ky!%D_^Llo7(i; z$8OPX29gyf3HcTf+;FMxa}S-m*yPQI0f8tf8o4n#_g|Am0K;@yHbkfH8VjL)RlBQl z*y4zl1=~>WDEXpCNYLQ2%4bj)mOx)2o9p5AQZqoTKRB<`-1Dn4EGZffx(`!JA(L2g zchqT*sXp9W?`jN)(kR=CtysG8Jt~rhYYlj4S9y3GpPFo?8k8fo!fml2Gdn0Eyl`l4cTCsu$(D984B@g7kQ2Qw_V&xM zI1gp&Qz2LeC#L)K+DWweW$77xiU)6^g|;BwnLGg{*Zae6IaSp{m998}gEyFtqjuWG zxq<#qUF?vH98yxX(N0127p1<|owiVeHGGAodL%vXOf$NzMOXU7Ygfw;r(;@L%Lp>dTuULw@wy?(?aiq=1FZWHN~@ zo0IM%lLN3=qbMD~DsSLTmOtsWeI!$K`;z)1w(WoJqm@y<<)~#~0!6A2fE!G=oT`F&MYoqRKn_FPLkw zA~_EL{X+{v;aFtkrcYv@zlqeq@$qg3H;58dVxP~6UVw^QbQwRnf1eaMgf|zUdjCfk z#(6Q`f4T&L@IOh%WHb{ecr%%NlH{a5E96hY`+rS>=q#wwM4z1pNzwHlG-A%A3r{TN zVy*t^1{4RnKylGc{Gyq|-P^Zrp+g`tmyxN%|H*}6Pso*Ekn`LYE#$A4WOynwOa#(4 z2qZM^YHIfrK$j z4k5w1M8x`lYSGfofR=tRMGy<-lXvAq8Rb#$maUZOnOEd$T(WS-4xO$RQYf_|*4Dl( z;PI^VaAo2b%*n>`@nouB6zCFUj#egImQyB_L9XU2h%W6OxT=Qe!*K%A`{qH!J7|hs z$;*U}fqxC}?mkH|k7mTbq#c ze|z^?^ifQnZmYV@05L9E0YHXwS(XEN&Za{)khDvWg6^60F=^jK24S$N2zP7ejQSlhj3;3tO zB2#XY{(A#gzUcdtv4bT#BGa{bWViOB2Kjl~J9pI&GAzG<%rGF3lx>j(mX-{+109boT{=4<$Q8K9(K@GV#`+W(OnwX-?s5^FPR7(3-4%W$Xq(= z5xa43rb3pAq5pLIdU=l8S6VuZ=9eXR~s~jf%GRAilvxg5?t7D>~?s5b@ z6n}7hu$c42#(KH1N7M0c8(05RD74a>a7;>qJ8dNDsqxalE7v3PbhD9_9g$qy_Mmf`}h5sD+@B4L}}#={lRpYj+7biZzwi2+FrHJlBND=R#nn8tn6OZaFUL8N!p7MKZnlL@Be(~bwVy|gL zNQjXWk`uSM4g3=pR{G1@`*cQIs1_sAzV-j!UE?#h0O{GpFV;??ANDf3zLS(E+7c?+rd{k!R zdzDjAsAr|m{L9#w3_LNGxzC}9w~;FITObhP(yVq)Uu%a;cd&s_jJ2qy7z z4_fG>3s9PmAqDBcxihi0eWw0-WwMJ83xOXYT`SWgBA#R#UNPF$PB#Y$7BnL z?gtB&brPL-uFHJA#F+$oiFB`)az2-dPQEJh2pKi6pS%EWV$qzv{m&l)aQ;GziCxpd zVU@V2bTKR&-t@`j+^Mn8!ddfpogJ*4ob(4$VW}4Y{Y*;!R;j>1PEhdK0d-8JZmZO3 z2&3>s^|Btlr;%D;?Um$SmvsB#QhqJSmg8)eJ*0UbcJ;T}9CW`Pv2FthuQJu^@@>T3 zyq3_6YvgaQvFfw{YF8RDmG3)6AfmfOLGjl}t#&+ld#j0h?uWX1waY7Q&Y@<0 zcKsje$Y8mRN9oW4^UeH1QWC*o8uRJX2Q#}JVSg20+xC9G3nJ1c5XiU!fF#xdU_k=4 z&NJo?Q?t#E5i>$T&|9XDS?VPV{_vcf!;b~fw?KQDYOKEHh(~$wH0qJRkn_egBIK^> zN?vQW!Oz(GOyw9ON`*|Wn+gbGCJpOaTo`<->si))TH4t*&gyQyslmch72UtWB}WBPz6kNZHVR9<>vvz8!SNk&DLwOXpvJUZKEPK0%R^c<<xv6$QI8c zw#>E{3JdVy2RvmjzV^{x@*`!-fFT+S8UUTmQX3jGT8YKC(~of886a4{V>^6blvkqI zY}Z?|E_$)sko83kP^q~e+i%dW`(5S!MCla6iy&%GTHWuf=H;>&XJb;NA|wvCpWcQ0 zp;Z~>E7FW*xEhKZb5eEYw^wx}wMI4k_;$3vh<%vFce-3Bw74S?pG@WM=S3{vXF%8QYE;NUM`5r?lT2vZh7YmlkxkOY zz4W)$*jZ-7p~^8*Q3q0=){=AcuRk?U5?3T2dTX&&2N0^65Hh{U6In;^S?E#zMY7>t zA(i*~R}MNBFUVuszkG=}ct%^DMNcaSz*|dbd8X4olO~Ku9R#YC4c2Pn_4mEkh~-yD zY&ly}2qzXw=dLy#gJtmY*;9m_6X*5i^}%@T=Suk#9?%c~Y-j4h0H_7>7c(notFCUVhM626K1DPqrQV?Vg#oh>;gdY07yzIbNy_ zHo(>B%YqR47HqyrtaM;WNFC)pjoiVOy^?XJ(t3KIrnF|&5q}^RKF0T(va;K^q@1|# zE+^W=oX^Tt%z;(x&xU0v#@KB%hvSkr82eK@eSt4z)Yf@V;+T^S&qxGV5EG%MDRb-A?HpU*VkTc-z?F?bHG&pQ)0aPGq(~Gm0j^jie zKL>o)wOzf(iRCL~9IxlA0Wg_N?XGx23o@Cw6U}Bx_K2VE>N-+x9jo#@8j1tE=^CkW zic!y(I04NIpTuT=s8bSl%_Enp;CiQfZ;8nOZ!TeOMwxYF6(}JXP@Ya*%rUnIDq*@} z4!hZ~+CUZ9?7dm#A6a0!z`@FL@=DY=)CfCQ*1Qed4hea?zOF7PO%SXzrEZJMF2R0I z)7mX(ayIhNtIupWa{c`o6lh0L|+%_g!;w|U2 zIr)Y|K#ue~d%6Jq8OdR4sir2PUG87E{w#8*IweMGW8VqDH6LGNYGV0v&FZgTS(F~4 zf))z$V=y`rvB`W@E_f!t{M6guv@7;W*L9N2)8Ka^r7g+6h>b5P@6IH>dz>YoA*D6R zifFu4&jkZUBu)=bh>E z^Vg>682J9(Zn=ilM)tdR`{!81_Fp0s>TOi-zmk!iq?xIKsDRk}6O|ADE7JMkaZmYfm&JSTRi~ZYMm?Y$lVcG<#s$v;6+U>m;vs1!!hc}C!rf{Z*8 zyV2WMbvS=+t-Jfq)E6|!S>QF#jw5)lPcH!aJ6O25v&hM{r+zu|0qIrp^1%`%&l|6o zN_3X`1^;}dJv;8@^i1>GR+rezmq?t`7Fo=Gh$sY7*exa3l7?r@6aSrmq$W5FQ7{eD259qkg+KV)0HkBjQ427t=I^Ex`p>R%u z$`fOQsaqCIw`#wKOMI)%FqUO}{P;0IaJ3$}YH?P$A}|GX2;h^Dfe)lk8+$tM4H+5J z75vG9ipP#Qk3Cv+Dd5VukoPE&8_b2}tKxKu82X(uY zM`EIUN5_2>(vzAynU6DuWM^%Oj7)g+^QGqI@+((nu_|uPq`XG!8L@?Fn+S?>9psZi zuA{7CqK*9lnieaDKAlXVd9}^Nw@NJhSs;nEHZ=insW~~>={NGGsf{NCkt^W2RXjGD zZ$6d=7%sDc5A0UcdQ-R33G#&$3anPtToii45pZ)@W5A*xT*CikHm{&|MP?k$ebP7i zS5iN+@a;|d@{QPOmo>?9j)WZdsyfcL4e2gj6+AXK6g22FTP`wH1{C4^@V;+vR^KJ6 zBlt1ARJ*~1-7JY{|H@X5kYJlPAxy1kDK;0DW_hxK+t!OdF&7J6=snk3{>QICd- zmR0r>ESjPecfzeFMGlJ2L zjUNDIHBZ#S-jn;t6zI37|ePIZ;UW5*g(f0S_mkUShhi&5V}Z+Nn0 zzlLKnR#I~3X}avs?JUFEp`8*e@W<8*(x!u%1j&+z`w4+N#>^fWr%E`I>@^SjIY2{G5X zmpZ0e`*9TC304~SvFMc7<2l5)m%get?@y6-6&NY_Rd=^oZMb>->)2w9sLfRt!Ne+e zoZXhI&8rMss|`Un>}j|6w-G>U~MD)pW$+8ss2n@m!Qz7)63HIpgXUxC+`+q$P<7Uk53cdEuBN- zzCerpBRn|QWZ+2<{x+ARt>CyWzr7z`AX^X?pSpk5U0*@b|X^pp{7IG z?29@2>kRK);8iYL9g<@%jwWB<@Tf=t>vjFwT#`lomv2LP5K7+9DVmGLhWWE~-oC{z z`z!X}9g{m8EHWPO%)>sj(QCJaP#%Z~p#ho4OQATg)^*#}|G+^{FZu{u6UfI{!!n4e z-LaUTvFYd+Uys$ohG zzI}(cK7eu{LDgFr;BwRnyZORW)A@BFUVbd_LDc<_r{2?M5jUbqAU9yYI$k--zBC7|@rB zuCPIZh*}W9&`BTsz}g$ z-6FBQIamNxuhH>ME>r&a{4ix?McSB%#c8xceX_KUywFNlFO2!CS$Z5Qpr8UQ7Ls`L z82^q&{P|l)Ob-O&{Rf2jN|5^b$NzFw>=e*YIDgPP+42-_Ex&%dwv+rH<+^{zx_>$J z|GTRq#-pDBug@H(5<8hpL~}cUS1jMdqfX~Swqe&qZf=G@lQq}VxgQdZ0g?~!m;j}8 zO5C?lp<)y{=L$?R;u(8(cU;xp9%97hP&+M6x#1-ygbVMFScV<)e(i_zF5R&07=~@C zMrDU~AdkNAW251^@GH@FlcC++CR46xkk5cKLNX*Lep{o~3;p*M1tU{=CQJd49V(~&KfD6{-u(W9 z)peSeE>;`NQvxz__eDUpzG^Cpp~7~CTAS=Yx_B8REW`8i8@(I~F{-@uLK)Ti7IesDF_%=Gk&eO;Z zY1UdA8-!3aN}dnWIpx{vLaBJDev%pYR;=vL zkz}h_J1zAOfChtjL;^nN>NHcylH`hX_hmMRKln8Q3X=^f54Ig&e|?i9#81Yir+_#P z1p3CIi}0xy)e^P)YqK2?YOH`z%YCJ-|MK|AI$*Dt8Uk66`_1kSf3*yLax;8)bm$Ia z>&NB8R?Q=P7It>kQGut>X}Zj-cg@U(iiSYBs?+hl>_DkX;e}uD zzdALs@SKtbJfmN}WZ!l(S{_u(V*X#~F1uezx`iP#A`bvzWDTav8i3;9m;B?+S{)1OyK?g7GGv?q8Jg9( z+c*j!KK+A~Kzt%13Gwn0T{q8CvA#kWhLVoZAg;@&DV{q&rtJ&Xl6Iz?o1UJEeVwvE ztr83{>b@D@fe$|~tiK};aK8Nhvh5Aa7fz-bQJQ+F!+M2oe= z`%ePtKkf?u!yx%_L2A5Dz2HgHc>fRwo*-&-1)au|%c;Jh+Zf!<%? zfqabM)GeM~@e~16JtBa+VP^&YKrPvPOy2`9Dmo&`CpH|QbwqLrH|e-uk~PQ zXh{AR8o`NJ)kHkH!_MBywPkVtk8#=I-oO))_-zVU)sebW4YgX@isU4d7XFcDDy%?c zvz(vM`WLeWdg$3jck??w4i5M+9<9h4K$vHN+LZ=6uHi)cO{hptoeairhU*My)nW=J z1M-l7fL&XA2*%;Q|Oky!AGvMV0n-1j- z7O7{LgND3qmV15XB3N}r=6+}vm{sb564~9=c1kwAjNBCLryIOy69=k1{zSkUFRrGl z6sl~lHy%nyKi&jX04Q9~>iv|XI&5qWXL0X6UWMsXJp5ogFSD|kvue~qD{13$@XItF zzBW|3@J{Mjj1!1Hx(`|xl+sHrv|b6F;oHo591XyfH8F;wtNFpx^~VA-biMTW7V$u zA=I~JoOeeo;R>wY-n=T$uUwSuF1LZxj!T`#Jus{H5oj0@*V=qF=Q4J4kGBo)7X6$_ zxlJ;QWQ7GmO@Tv-)Z)$xPf`z#(<51Xz-y?eKW5ySD%Lkug|F`}?iS_-=0=*}TbbyU zcmB5>ft=0INJkFll}X!av=)4#)BtL}EChQHC-ky4ybm!wbA3umFqVvKjk|h;cW>MS zkd7Zu%bJ77ky8~+-(J@kS@obpazz1(y?y1;Ytg<1Ed)sFr+M1~G+plAv*R3~Y0BMS zZV5bbF=y3gTRHdt*+zP9;?r&=TnORHBYq~AT=|;N$|~uavdpdd^%+o)FZeO|?tf4_ z4U*p%^sw?lDQ+MYY|lsy90d^x9F6Zm7A^mzwdxqiSBQ~$OjK`M`7^u=R0y2>s}x%(1!eUS=j6EyMr^ zE*9+KG!q&{>+Mag|6`az&S%L)p^ww3m_6+7X+1BGFyeU3$BzirxnDnN;9;6lKw1rM zx(SXjI4`7Si3CQwtbN5DOdzB`POV;l%k|;9bX<;a3m~fIJG3k9go7@E()H9r)rZH| zN4Cs!LbY+4{=@5o*hBIOlQCCE^Q69ZAF-NML9gKwd;Pxi!H=aSHhSr3L~tCSsqHsy zyq#!O6tcfBb=D((;ObdBC){&6;ururb_3XGudIIfe4_a#T_cIs+lD7RKk5wcOv1va z{z2#oUoLK>a+p8TG;PkB{mmWu@-~#?Mf3;>QH;h3lztmBUk&Qp&7^?6H*+yJcWb=* z{=Y>s+{MX3v|9T_#jL|t}*E@kI?0#GouKY8Y|24p^y(zQ42xTTA5sBTP_$y4a81$Oh znJgJiF;Zk(w%$c?K|E@HznO#+W~LS=+WuClaz27B``ZLwmMYAtkuoqTS&!6{idp!t zVG$70R~^=%U)&wx{F;@nXuj32-5yR5NXBW2bw3l7Gdz=Q3a>j5YLHNF*lkSL4i|-6 zoUlRBA#&4~pjWr9k)dXDj|k-DNbbl2%Oz}r{cog&YQP_eX;C+jB|)gJG0b|UBvOcq zev0{A(YklpwG;Y%O!uU$>jHG=bf7+uC*_jwEDi4meEQ@dCYIqBh<007=ve(cvYPCl zJ|=&;aokK_zFM&v6BH!N8^glN8u0-0cKny>R@bgm!4ow}O4RENa#tG~iqaI?=*fhV zPS_)U%3fI5IomS?g+@H=24)^Jprqoa{Bp5XE$)b@oU0M`kvfMN8dt=rCV09&;3-~l z!z5wduJa%H7M+fKuDDx00e4~KWf)xPvVX&x^dyeNv8QGsI ztM>Z!Gdnx$jw@6e37~{bEe;LRk0SR1(G<^K$mN{`4AO{Yqbo=lf-(VCYlgbEpctg# z)6%U)CdLvfu(H_PlN)b<@<}-1^9(b!xuf+;4fgM_L9h5y5o&QCpgtn|y16!q#jZIT zz$CdwP*mPIm-&0^64?u3?!IKTle{nT_zyY>(%*E_9BR#dO5@)|-aD}mHPmPR+F2!6 zIFno#PiNl;`^0Y7Wt7Xd_;**Ni_PFVPDg~dLlm-vM;#VF)zwM+uQEbD0rNkt2|HN> zKRXLl?g1?29`E$rY-Eg4uZf|F38PQ4V$MMDtx8iT?Q_>b88))sZ3mSJvHRJ%efXdt z1j^<*rlRdPJN*L1w-@o*JTR2{lG_GFsKO0SUix=`&FYs1Vm#d451p#c<3{+AvELZS z%y?w&aZLaXyS_vJIV9;XpP+h^Ro2Bp3Hwh@P7eB0Mm7HuuT?H$L5ry+D zOqrHHQ(9mn$VOYksGZj9W6Ubg)TpG;*!p2 ztWN@>pXJ(%?D@@l5|MISO%_h-doQ$s%A=@B*@N$IXRx#62QSc4fTW~0C1%uS zS~S{j;Xks9o-8!(vt*)T=65o2o%1s|REs*cnzK37$?n$~F3CFJtP4zN zPfVXkCi>ePs2Bl`G;a)83e!9;bv_(p3*G9J;FFFzkc;FnerMR_ay*{^S1G^d9>~Xg zU8_Hne~^-g z|5Hj%f?ae0izSb1eoO7F_Jso8T>smB12_1iBS}AkP%6c#7X#hUVsRo|1t*lge=cR? zfj5P-%_U30#f;nAc!uKZ>&c;@_;3H+HB17P=~*yORvXjddv;xpDi{NCCM4GOLJ}*b zHF$5l-heaAcT{a;rUl?02U9`Iw0ngn_PKCylzRJceQKU9&B%^z0{s6EaPb!>xLu)*)c)HykkMZ=Gqrz zQC!TwP8g1q=iryb9g8@}8V%WGX>#)X51T(ui%te9=2j1b6TuOL^gj%?+ajgstK(9t zV-v^T9yfx-Ci&Sw91QyIv-M(tfi)BNB_;g+)EtngHs`Eu|Jt;!!QJL_LBKCsLR8>i zu{igvyZ$FXDNrvS>#$s?PK&v{d|2r9T)o_7eWR6+MWsN|(O|NUdVBYMf6-kD<93Ah zQB%vK8?1gGLqOhymc*6`P+G-%DhgoHgcz8_kxh{ zUpxzD;J+)-&e%A7;3e5;<+Pmaj4%6N?}=AB)cRdK*IQ^-*$cu%4=4*Qq56{@^B}+vB{!!S${cvE zE#)dSQr_+`;lArV99hSw&bRAWWz1ZGA_K+UM6O{A_#wd|&Io5tc=#`w3tkuD_dU}j``af%p+Y-OH3s{~wNgGk&PT6|_T*Z=5@JLP&v z2)cITEg;W!&TR?_3Vuk2D)fJKkK}StMpOE&=N(T^qI%RTa`cTZ%?+R<>qU*#O?QAt z-X|03J6lZfo=gEUOF21h!1e1XNIoRpZZNZm)z_&h0-@O8BF+uThXQVIjfXL^C+2l8 zzQ9D85Nh@T!5Zl2m%h{ZJVCfFRhF&JGdk6n+PS+YQ;{h(k$e_iO&}88)fW}PWwT<5 zLxILijKt9t>-c=bE<>ifzL)6~C&1a6Y}Mj(im8xL%YV!iGdtBUvL*|ph}zC|zz1}t z%6|TsHaTT}Q|=tZ5M8as?fWlVeVDsMXM*A1lMZMe##xu4Mk4RAfy7 z5bIf4(+8;~08md5Zo6EK7M~5Lm9dqnRCz)-a!+hrX7DGvEBC2{{*S~zQHx(ZW-|n* z6>P?|4P&kZN0e%a8Tl>$oa}$(eQ>tN5a=?k(DilB4{4D4hX;?{zfF=ypJA-boVW=G z_oz!JiP_2WW8QB4FRMUogNsYTw4rm2&qXRls&Wq@lg6?f4EN>cE!AswnG$$HWXg2g zUE*r=B+|~^e`biJ5eyu*ee{h`J;FyMPL2>f_sokH9jooE;i;!Bk z;qdsJ1;rn>e)4Y0wbl38&LKf*5Qxv&Rzy(`lnoC;vkxOKhqpMF=$xyOJQHkAUK7E1 zCie@b_9{3{tpV5&WK96YKb;(hWVt6HC#=KBX}M*O4FUNV_@7Tpr~-@a%oGOP@D_G3 znNMG?<4T`J+IlsCKUo;C$Aix;s1C1-EgFj7U^_LK6bsOvd%Z>N_8;L*NJF4KGOV|F zHTH~~`R48Om~@~yUx%?qSLs#xr-XJn$oT2;vqd-Y8!SruPE`@?3C&PQEI?l=kQ#i{K6A%~c7g^T zSufNhJh36&b6{U!`)0JAc@rOs)CWK^2bJ9P^sB7A7%5XBmr6W9^SAGKkY}fyZoGj1 zr>`pygtGnGQ`QhlvL&IyR7eV0OGvV>*-P1(M8-BVw2_h`5!s^1UUr5-*<(U>Mp?7( zyBXg-Gn9Vs`+on`c%J*Y*K@9Oo#iGBLapQOJt5{bd>g<7d(g$=h;#!ft??6$ADuPG zX3(ZgD+K&t3)i-i*#3Eob=(3OAZ70HO$kBEdxFSDBM7tD0C$GC?Fp zm9l)hS^GqgL>pK4ld>yu`?1GjnpToaj9e+Eene`*%C;on*4OA`ZapINE z%VRaoqt3&Ttxm`{AVXaQ|)+zbn5xxbYjM@a%%W$I%TJRUuiG{sAlL4GIDzA!cu8L z5)mQCZZlP<(hx)s3F+cm&YuKv7l%5+3<;_m#XhUZbeGzYl7^^0LC)%@tMHkTkYGlx zrMDjD=@|hbhg~4=?*Fxpy3I+0Nc>^5tRLebUk{{PjrDDwPM-y7Uu_>+JU|9kuDuz? zw(0#55P^J1)TLh0Hz5eEWwbkXlEI zd;@_TWY(yJ4rqPh))b|HtQSbaTw~14j9@1&2`djWAu%Alq}%D{kX^u!~kS~-=ugm9V=Bi!*BKoXB{l&L)g!S&5SYPZh9(8hJ zyRq3mAX^k~AH(;lK;p#7RTqfo#a)P$5f^r6NH}zIa}~?f6FHT7j3+(2$EmF3v25D4P=08?g=goL30@HNq-T)X*t{$*7w)4clhAQx z%7QAb(Cq6@K@L6zqHC_w^CH(4R&9WHb_(r!c_yaa+yns@0vRNhaq`+H!?wjj!5bB^qpXX`NWfsgHSK(g%xFW@3w0h{y$XRNpLg>++3iveV|N6D

%udQ@||1YxXw6Y0(;5ETy?q$ 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 literal 38950 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

SDYfXCT7df=1uA~Cy$ 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 Date: Mon, 7 Nov 2022 06:55:23 +0800 Subject: [PATCH 16/27] Update sort command description --- docs/_dg/implementations/ItemFeatures.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index df4f77f5199..fbe7b9cec6c 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -120,3 +120,4 @@ Currently, sorting is performed ascendingly. A future implementation will allow There is a `SortedList` obtained from an immutable item list. When the `SortCommand` is executed to sort the list of items, depending on the input, the appropriate comparator is chosen and applied. The UI tracks changes to the `SortedList` and displays the updated sorted item list. +It should be noted that if multiple comparators are provided as arguments, only the last argument is considered when selecting comparators. From 1ffe7989d0a1d09ae486598aee1d6c8ceaf9d20b Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:33:26 +0800 Subject: [PATCH 17/27] Create edit command activity diagram --- docs/diagrams/EditItemActivityDiagram.puml | 24 +++++++++++++++++++++ docs/images/EditItemActivityDiagram.png | Bin 0 -> 27985 bytes 2 files changed, 24 insertions(+) create mode 100644 docs/diagrams/EditItemActivityDiagram.puml create mode 100644 docs/images/EditItemActivityDiagram.png diff --git a/docs/diagrams/EditItemActivityDiagram.puml b/docs/diagrams/EditItemActivityDiagram.puml new file mode 100644 index 00000000000..6f45d279cab --- /dev/null +++ b/docs/diagrams/EditItemActivityDiagram.puml @@ -0,0 +1,24 @@ +@startuml +!pragma useVerticalIf on +start +:User enters tag command; +if () then ([else]) + :Error: Invalid index provided; + stop +([Positive index provided]) elseif () then ([else]) + :Error: Invalid command format; + stop +([at least one field to be edited is provided]) elseif () then ([else]) + :Error: Invalid index provided; + stop +([Item index is in valid range of Item List])elseif () then ([else]) + :Error: Item already exists in the Item List; + stop + else ([Edited item does not share a name with any other Items]) +endif + :Tag Command successfully executes. +Item is edited.; +stop + +@enduml + diff --git a/docs/images/EditItemActivityDiagram.png b/docs/images/EditItemActivityDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..69f585d6d8a39591c0fe974132dc04430bb559a8 GIT binary patch literal 27985 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 literal 0 HcmV?d00001 From 7298ad8ae9f2faf35d09c927b9f8f8931a83ce7e Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:33:52 +0800 Subject: [PATCH 18/27] Update edit command description --- docs/_dg/implementations/ItemFeatures.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index fbe7b9cec6c..27379d27972 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -81,11 +81,16 @@ This diagram excludes the instantiation of the objects that represents attribute ##### Feature Details 1. The user specifies an item index that represents an `Item` to be edited. -1. If an invalid index is provided, the user is prompted to enter the command correctly via an error message. -1. If an invalid command input is provided, the user will be prompted to enter the command correctly via an error message. +1. If a negative or zero index is provided, an error is thrown and the user is prompted to enter the command correctly via an error message. +1. At least one field to be edited has to be provided. Else, the user will be prompted to enter the command correctly via an error message. 1. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. +1. Finally, if an index that is not in the valid range of the Item List is provided, an error is thrown and the user is prompted to enter the command correctly via an error message. 1. If step 4 completes without any exceptions, then the new `Item` is successfully edited. +The activity diagram is as such: + +![ItemSequenceDiagram](images/EditItemActivityDiagram.png) + ##### Feature Considerations Similar to the `new` command, it should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. For example, if an `Item` with the name `Potato` already exists inside the inventory, then you cannot edit an existing `Item` to have the name `Potato`. From bb0cfd4a60fd58ac966c5770defb711408ebc00b Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:36:17 +0800 Subject: [PATCH 19/27] Fix edit command activity diagram --- docs/diagrams/EditItemActivityDiagram.puml | 2 +- docs/images/EditItemActivityDiagram.png | Bin 27985 -> 27914 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/diagrams/EditItemActivityDiagram.puml b/docs/diagrams/EditItemActivityDiagram.puml index 6f45d279cab..57a75996b0f 100644 --- a/docs/diagrams/EditItemActivityDiagram.puml +++ b/docs/diagrams/EditItemActivityDiagram.puml @@ -1,7 +1,7 @@ @startuml !pragma useVerticalIf on start -:User enters tag command; +:User enters edit command; if () then ([else]) :Error: Invalid index provided; stop diff --git a/docs/images/EditItemActivityDiagram.png b/docs/images/EditItemActivityDiagram.png index 69f585d6d8a39591c0fe974132dc04430bb559a8..ada72afd282272d1958e4dd449ffe53835b380ab 100644 GIT binary patch literal 27914 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 From 7d55caa5104acbc86b140c17cb35cd9927ced06e Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:40:53 +0800 Subject: [PATCH 20/27] Fix edit command activity diagram again --- docs/diagrams/EditItemActivityDiagram.puml | 2 +- docs/images/EditItemActivityDiagram.png | Bin 27914 -> 27710 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/diagrams/EditItemActivityDiagram.puml b/docs/diagrams/EditItemActivityDiagram.puml index 57a75996b0f..d7204806654 100644 --- a/docs/diagrams/EditItemActivityDiagram.puml +++ b/docs/diagrams/EditItemActivityDiagram.puml @@ -16,7 +16,7 @@ if () then ([else]) stop else ([Edited item does not share a name with any other Items]) endif - :Tag Command successfully executes. + :edit command successfully executes. Item is edited.; stop diff --git a/docs/images/EditItemActivityDiagram.png b/docs/images/EditItemActivityDiagram.png index ada72afd282272d1958e4dd449ffe53835b380ab..2d5e36c54044a92b3b5b50e57a97755304c277cb 100644 GIT binary patch delta 5240 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 OJlYz1m|V4+_x}q9W_eNo delta 5445 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 Date: Mon, 7 Nov 2022 07:42:29 +0800 Subject: [PATCH 21/27] Add new command activity diagram --- docs/_dg/implementations/ItemFeatures.md | 6 +++++- docs/diagrams/NewItemActivityDiagram.puml | 21 +++++++++++++++++++++ docs/images/NewItemActivityDiagram.png | Bin 0 -> 22886 bytes 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docs/diagrams/NewItemActivityDiagram.puml create mode 100644 docs/images/NewItemActivityDiagram.png diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 27379d27972..a6c4e6732a8 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -57,11 +57,15 @@ This diagram excludes the instantiation of the objects that represents attribute ##### Feature Details 1. The user specifies an item name for the Item to create. Optionally, the user can specify the item quantity, bought date, expiry date, price, and any remarks. -1. If the item name is not provided, or if a wrong command input is provided, the user will be prompted to enter the command correctly via an error message. +1. If the item name is not provided, or if an invalid command arguments are provided, the user will be prompted to enter the command correctly via an error message. 1. The item is cross-referenced in the `Model` to check if it already exists. If it already does, then an error is raised to inform the user. 1. If the item storage of FoodRem is full, an error is thrown to inform the user that the maximum item limit is reached, and that no new items can be added. 1. If step 4 completes without any exceptions, then the new `Item` is successfully created and stored inside the Item. +The activity diagram is as such: + +![ItemSequenceDiagram](images/NewItemActivityDiagram.png) + ##### Feature Considerations It should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. This is because allowing Items with the same name will introduce additional complexity for other commands, and also presents confusingly to the user. This is room for improvement, as items ideally can have the same name. For example, the user should ideally have multiple `Potato` items with different bought and expiry dates. diff --git a/docs/diagrams/NewItemActivityDiagram.puml b/docs/diagrams/NewItemActivityDiagram.puml new file mode 100644 index 00000000000..4d3c1cd9faa --- /dev/null +++ b/docs/diagrams/NewItemActivityDiagram.puml @@ -0,0 +1,21 @@ +@startuml +!pragma useVerticalIf on +start +:User enters new command; +if () then ([else]) + :Error: Invalid command format; + stop +([Item name is provided and arguments are valid]) elseif () then ([else]) + :Error: Item already exists; + stop +([Item does not exist in Item List]) elseif () then ([else]) + :Error: Insufficient storage space for Items; + stop + else ([Storage space for Items is available]) +endif + :new command successfully executes. +Item is edited.; +stop + +@enduml + diff --git a/docs/images/NewItemActivityDiagram.png b/docs/images/NewItemActivityDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..be9c5252f8079dbe417876476b3120225f3a1dd2 GIT binary patch literal 22886 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 Date: Mon, 7 Nov 2022 07:43:54 +0800 Subject: [PATCH 22/27] Fix sort command description --- docs/_dg/implementations/ItemFeatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index a6c4e6732a8..da087a5bc39 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -104,7 +104,7 @@ When providing multiple arguments with the same delimiter, the last instance of ##### Overview -The `sort` feature sorts the list of items currently displayed to the user by specified flag(s). It is possible to sort by one or more criteria. A list of available criteria for sorting includes: +The `sort` feature sorts the list of items currently displayed to the user by a specified criteria. A list of available criteria for sorting includes: * Name * Quantity From 8d222a5bbdeacb9f5112264f3fdb8913bcf262da Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:51:38 +0800 Subject: [PATCH 23/27] Modify order of diagrams --- docs/_dg/implementations/ItemFeatures.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index da087a5bc39..3463be84bc7 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -48,6 +48,10 @@ It should be noted that the `UniqueItemList` referenced in `ModelManager` is imm ##### Overview The `new` command creates a new `Item` in FoodRem, which forms the core business logic of being able to represent an inventory item. +The activity diagram is as such: + +![ItemSequenceDiagram](images/NewItemActivityDiagram.png) + The sequence diagram to show the interactions between the different components during a `new` command is as such: ![ItemSequenceDiagram](images/NewItemSequenceDiagram.png) @@ -62,10 +66,6 @@ This diagram excludes the instantiation of the objects that represents attribute 1. If the item storage of FoodRem is full, an error is thrown to inform the user that the maximum item limit is reached, and that no new items can be added. 1. If step 4 completes without any exceptions, then the new `Item` is successfully created and stored inside the Item. -The activity diagram is as such: - -![ItemSequenceDiagram](images/NewItemActivityDiagram.png) - ##### Feature Considerations It should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. This is because allowing Items with the same name will introduce additional complexity for other commands, and also presents confusingly to the user. This is room for improvement, as items ideally can have the same name. For example, the user should ideally have multiple `Potato` items with different bought and expiry dates. @@ -75,7 +75,11 @@ When providing multiple arguments with the same delimiter, the last instance of ##### Overview -The `edit` feature edits the attached attributes of a specified `Item`, which is specified by the one-indexed `itemList` presented to the user. +The `edit` feature edits the attached attributes of a specified `Item`, which is specified by the one-indexed `itemList` presented to the user. + +The activity diagram is as such: + +![ItemSequenceDiagram](images/EditItemActivityDiagram.png) Here is the activity diagram showing the process of the `edit` command: @@ -91,10 +95,6 @@ This diagram excludes the instantiation of the objects that represents attribute 1. Finally, if an index that is not in the valid range of the Item List is provided, an error is thrown and the user is prompted to enter the command correctly via an error message. 1. If step 4 completes without any exceptions, then the new `Item` is successfully edited. -The activity diagram is as such: - -![ItemSequenceDiagram](images/EditItemActivityDiagram.png) - ##### Feature Considerations Similar to the `new` command, it should be noted that when checking for duplicates in the `UniqueItemList` inside the `Model`, Items cannot have the same name. For example, if an `Item` with the name `Potato` already exists inside the inventory, then you cannot edit an existing `Item` to have the name `Potato`. From 4b68d201aac6c9a6fe6f6041a22541d1c3763481 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:56:26 +0800 Subject: [PATCH 24/27] Add description for statistics features --- .../_dg/implementations/StatisticsFeatures.md | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/_dg/implementations/StatisticsFeatures.md b/docs/_dg/implementations/StatisticsFeatures.md index 2b5134fd5d3..11c23ea84bb 100644 --- a/docs/_dg/implementations/StatisticsFeatures.md +++ b/docs/_dg/implementations/StatisticsFeatures.md @@ -9,14 +9,24 @@ ##### Overview +The `stats` command calculates and provides users a list of statistics relating to FoodRem's inventory. The list of statistics provided is as follows: +* Top three most expensive items +* Total amount of expired food +* Top three most common tags + +The activity diagram is as such: + - -##### Feature Details +The sequence diagram is as such: - -##### Feature Considerations +##### Feature Details +1. The user calls the `stats` command. +2. FoodRem performs the necessary calculations to obtain the statistics. FoodRem then displays the result to the user. +3. If there are fewer than three items, or if there are fewer than three tags, FoodRem displays a placeholder "-". + - +##### Feature Considerations +The three statistics were chosen as a baseline because they are a good starting point for users to help track their food waste. For example, the user can obtain the total amount of wasted food, which is food whose expiry date has already been passed. Future extensions can include additional statistics, or even provide further arguments to selectively display desired statistics. For example, `stats topThreeMostExpensive` would display the statistics for the top three most expensive items only. From 24d9cf0f3a001c30c2e64af777dc6b1b84ca9f38 Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 07:59:59 +0800 Subject: [PATCH 25/27] Fix description of Item implementation --- docs/_dg/implementations/ItemFeatures.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 3463be84bc7..2cf2550cdaa 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -32,6 +32,8 @@ Regarding the attributes, here are a few things to note: * All attributes except `ItemName` is optional. * The Item value is the `ItemPrice` multiplied by the `ItemQuantity`. This is used for the [Statistics](#statistics-features) feature. +The class diagram is as such: + ![model_diagram](images/BetterModelClassDiagram.png) #### General Design Considerations From 85c4b02884d76b548205136c1bf2e02bc9cb69ee Mon Sep 17 00:00:00 2001 From: Ferusel <53888954+Ferusel@users.noreply.github.com> Date: Mon, 7 Nov 2022 08:00:19 +0800 Subject: [PATCH 26/27] Add statistics implementation and design details --- docs/_dg/implementations/StatisticsFeatures.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/_dg/implementations/StatisticsFeatures.md b/docs/_dg/implementations/StatisticsFeatures.md index 11c23ea84bb..9f73be757e7 100644 --- a/docs/_dg/implementations/StatisticsFeatures.md +++ b/docs/_dg/implementations/StatisticsFeatures.md @@ -1,19 +1,22 @@ #### General Implementation Details - -#### General Design Considerations +The statistics command is implemented as a standalone command that ties together the `Item` and `Tag` class. By performing calculations, it returns relevant statistics to the user. -#### Displaying Statistics +The class diagram is as such: -##### Overview + +#### General Design Considerations The `stats` command calculates and provides users a list of statistics relating to FoodRem's inventory. The list of statistics provided is as follows: * Top three most expensive items * Total amount of expired food * Top three most common tags +#### Displaying Statistics + +##### Overview The activity diagram is as such: From c70168a57f3227cd3c0236c887aebb3ea4802ed6 Mon Sep 17 00:00:00 2001 From: Richard Dominick <34370238+RichDom2185@users.noreply.github.com> Date: Mon, 7 Nov 2022 08:12:14 +0800 Subject: [PATCH 27/27] Remove unnecessary autoglossary alias --- docs/_dg/implementations/ItemFeatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_dg/implementations/ItemFeatures.md b/docs/_dg/implementations/ItemFeatures.md index 9294bdf7997..b43ec5f323e 100644 --- a/docs/_dg/implementations/ItemFeatures.md +++ b/docs/_dg/implementations/ItemFeatures.md @@ -108,7 +108,7 @@ When providing multiple arguments with the same delimiter, the last instance of -The `sort` feature sorts the list of items currently displayed to the user by a specified [[ flag:flag ]]. A list of available criteria for sorting includes: +The `sort` feature sorts the list of items currently displayed to the user by a specified [[ flag ]]. A list of available criteria for sorting includes: * Name * Quantity