From cdfa095d80672b1845844530b93bc8fe2004f5dd Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Thu, 8 Mar 2018 11:32:37 +0800 Subject: [PATCH 001/120] Add COMMAND_ALIAS as an attribute to each command. --- src/main/java/seedu/address/logic/commands/AddCommand.java | 1 + src/main/java/seedu/address/logic/commands/ClearCommand.java | 1 + src/main/java/seedu/address/logic/commands/DeleteCommand.java | 1 + src/main/java/seedu/address/logic/commands/EditCommand.java | 1 + src/main/java/seedu/address/logic/commands/ExitCommand.java | 1 + src/main/java/seedu/address/logic/commands/FindCommand.java | 1 + src/main/java/seedu/address/logic/commands/HelpCommand.java | 1 + src/main/java/seedu/address/logic/commands/HistoryCommand.java | 1 + src/main/java/seedu/address/logic/commands/ListCommand.java | 1 + src/main/java/seedu/address/logic/commands/RedoCommand.java | 1 + src/main/java/seedu/address/logic/commands/SelectCommand.java | 1 + src/main/java/seedu/address/logic/commands/UndoCommand.java | 1 + 12 files changed, 12 insertions(+) diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index c334710c0ea3..d5de4a572715 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -17,6 +17,7 @@ public class AddCommand extends UndoableCommand { public static final String COMMAND_WORD = "add"; + public static final String COMMAND_ALIAS = "a"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. " + "Parameters: " diff --git a/src/main/java/seedu/address/logic/commands/ClearCommand.java b/src/main/java/seedu/address/logic/commands/ClearCommand.java index ceeb7ba913c6..6d04efaf3295 100644 --- a/src/main/java/seedu/address/logic/commands/ClearCommand.java +++ b/src/main/java/seedu/address/logic/commands/ClearCommand.java @@ -10,6 +10,7 @@ public class ClearCommand extends UndoableCommand { public static final String COMMAND_WORD = "clear"; + public static final String COMMAND_ALIAS = "c"; public static final String MESSAGE_SUCCESS = "Address book has been cleared!"; diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index b539d240001a..0cd0fbd860ad 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -17,6 +17,7 @@ public class DeleteCommand extends UndoableCommand { public static final String COMMAND_WORD = "delete"; + public static final String COMMAND_ALIAS = "d"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Deletes the person identified by the index number used in the last person listing.\n" diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index e6c3a3e034bc..3021c951a5b1 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -34,6 +34,7 @@ public class EditCommand extends UndoableCommand { public static final String COMMAND_WORD = "edit"; + public static final String COMMAND_ALIAS = "e"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the details of the person identified " + "by the index number used in the last person listing. " diff --git a/src/main/java/seedu/address/logic/commands/ExitCommand.java b/src/main/java/seedu/address/logic/commands/ExitCommand.java index fbd1beb2966e..2847b4892dd9 100644 --- a/src/main/java/seedu/address/logic/commands/ExitCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExitCommand.java @@ -9,6 +9,7 @@ public class ExitCommand extends Command { public static final String COMMAND_WORD = "exit"; + public static final String COMMAND_ALIAS = "q"; public static final String MESSAGE_EXIT_ACKNOWLEDGEMENT = "Exiting Address Book as requested ..."; diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index b1e671f633d2..a73078ed6ea3 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -9,6 +9,7 @@ public class FindCommand extends Command { public static final String COMMAND_WORD = "find"; + public static final String COMMAND_ALIAS = "f"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose names contain any of " + "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n" diff --git a/src/main/java/seedu/address/logic/commands/HelpCommand.java b/src/main/java/seedu/address/logic/commands/HelpCommand.java index 10febf6d9136..5fee4d666505 100644 --- a/src/main/java/seedu/address/logic/commands/HelpCommand.java +++ b/src/main/java/seedu/address/logic/commands/HelpCommand.java @@ -9,6 +9,7 @@ public class HelpCommand extends Command { public static final String COMMAND_WORD = "help"; + public static final String COMMAND_ALIAS = "?"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Shows program usage instructions.\n" + "Example: " + COMMAND_WORD; diff --git a/src/main/java/seedu/address/logic/commands/HistoryCommand.java b/src/main/java/seedu/address/logic/commands/HistoryCommand.java index f87abee5511d..a3a8f11563d0 100644 --- a/src/main/java/seedu/address/logic/commands/HistoryCommand.java +++ b/src/main/java/seedu/address/logic/commands/HistoryCommand.java @@ -15,6 +15,7 @@ public class HistoryCommand extends Command { public static final String COMMAND_WORD = "history"; + public static final String COMMAND_ALIAS = "h"; public static final String MESSAGE_SUCCESS = "Entered commands (from most recent to earliest):\n%1$s"; public static final String MESSAGE_NO_HISTORY = "You have not yet entered any commands."; diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 7b6463780824..2631e4dda649 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -8,6 +8,7 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; + public static final String COMMAND_ALIAS = "l"; public static final String MESSAGE_SUCCESS = "Listed all persons"; diff --git a/src/main/java/seedu/address/logic/commands/RedoCommand.java b/src/main/java/seedu/address/logic/commands/RedoCommand.java index 7b99d0f372fc..311c95c1a1f2 100644 --- a/src/main/java/seedu/address/logic/commands/RedoCommand.java +++ b/src/main/java/seedu/address/logic/commands/RedoCommand.java @@ -13,6 +13,7 @@ public class RedoCommand extends Command { public static final String COMMAND_WORD = "redo"; + public static final String COMMAND_ALIAS = "r"; public static final String MESSAGE_SUCCESS = "Redo success!"; public static final String MESSAGE_FAILURE = "No more commands to redo!"; diff --git a/src/main/java/seedu/address/logic/commands/SelectCommand.java b/src/main/java/seedu/address/logic/commands/SelectCommand.java index 9e3840a9dde6..0bc2e3e21485 100644 --- a/src/main/java/seedu/address/logic/commands/SelectCommand.java +++ b/src/main/java/seedu/address/logic/commands/SelectCommand.java @@ -15,6 +15,7 @@ public class SelectCommand extends Command { public static final String COMMAND_WORD = "select"; + public static final String COMMAND_ALIAS = "s"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Selects the person identified by the index number used in the last person listing.\n" diff --git a/src/main/java/seedu/address/logic/commands/UndoCommand.java b/src/main/java/seedu/address/logic/commands/UndoCommand.java index 1f3dcea8bbaa..7d62dcc53d38 100644 --- a/src/main/java/seedu/address/logic/commands/UndoCommand.java +++ b/src/main/java/seedu/address/logic/commands/UndoCommand.java @@ -13,6 +13,7 @@ public class UndoCommand extends Command { public static final String COMMAND_WORD = "undo"; + public static final String COMMAND_ALIAS = "u"; public static final String MESSAGE_SUCCESS = "Undo success!"; public static final String MESSAGE_FAILURE = "No more commands to undo!"; From 946207f0f2fc4253deb845d5ec52408e993e403a Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Thu, 8 Mar 2018 12:12:38 +0800 Subject: [PATCH 002/120] Modify AddressBookParser to recognise Command aliases and modify test cases to test for Command aliases --- .../logic/parser/AddressBookParser.java | 12 ++++++++ .../logic/parser/AddressBookParserTest.java | 29 +++++++++++++++++++ .../seedu/address/testutil/PersonUtil.java | 7 +++++ 3 files changed, 48 insertions(+) diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index b7d57f5db86a..ae84917f7f04 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -49,39 +49,51 @@ public Command parseCommand(String userInput) throws ParseException { switch (commandWord) { case AddCommand.COMMAND_WORD: + case AddCommand.COMMAND_ALIAS: return new AddCommandParser().parse(arguments); case EditCommand.COMMAND_WORD: + case EditCommand.COMMAND_ALIAS: return new EditCommandParser().parse(arguments); case SelectCommand.COMMAND_WORD: + case SelectCommand.COMMAND_ALIAS: return new SelectCommandParser().parse(arguments); case DeleteCommand.COMMAND_WORD: + case DeleteCommand.COMMAND_ALIAS: return new DeleteCommandParser().parse(arguments); case ClearCommand.COMMAND_WORD: + case ClearCommand.COMMAND_ALIAS: return new ClearCommand(); case FindCommand.COMMAND_WORD: + case FindCommand.COMMAND_ALIAS: return new FindCommandParser().parse(arguments); case ListCommand.COMMAND_WORD: + case ListCommand.COMMAND_ALIAS: return new ListCommand(); case HistoryCommand.COMMAND_WORD: + case HistoryCommand.COMMAND_ALIAS: return new HistoryCommand(); case ExitCommand.COMMAND_WORD: + case ExitCommand.COMMAND_ALIAS: return new ExitCommand(); case HelpCommand.COMMAND_WORD: + case HelpCommand.COMMAND_ALIAS: return new HelpCommand(); case UndoCommand.COMMAND_WORD: + case UndoCommand.COMMAND_ALIAS: return new UndoCommand(); case RedoCommand.COMMAND_WORD: + case RedoCommand.COMMAND_ALIAS: return new RedoCommand(); default: diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 7466da232666..a166674b6996 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -46,12 +46,16 @@ public void parseCommand_add() throws Exception { Person person = new PersonBuilder().build(); AddCommand command = (AddCommand) parser.parseCommand(PersonUtil.getAddCommand(person)); assertEquals(new AddCommand(person), command); + AddCommand aliasedCommand = (AddCommand) parser.parseCommand(PersonUtil.getAddCommand(person)); + assertEquals(new AddCommand(person), aliasedCommand); } @Test public void parseCommand_clear() throws Exception { assertTrue(parser.parseCommand(ClearCommand.COMMAND_WORD) instanceof ClearCommand); assertTrue(parser.parseCommand(ClearCommand.COMMAND_WORD + " 3") instanceof ClearCommand); + assertTrue(parser.parseCommand(ClearCommand.COMMAND_ALIAS) instanceof ClearCommand); + assertTrue(parser.parseCommand(ClearCommand.COMMAND_ALIAS + " 3") instanceof ClearCommand); } @Test @@ -59,6 +63,9 @@ public void parseCommand_delete() throws Exception { DeleteCommand command = (DeleteCommand) parser.parseCommand( DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); assertEquals(new DeleteCommand(INDEX_FIRST_PERSON), command); + DeleteCommand aliasedCommand = (DeleteCommand) parser.parseCommand( + DeleteCommand.COMMAND_ALIAS + " " + INDEX_FIRST_PERSON.getOneBased()); + assertEquals(new DeleteCommand(INDEX_FIRST_PERSON), aliasedCommand); } @Test @@ -68,12 +75,17 @@ public void parseCommand_edit() throws Exception { EditCommand command = (EditCommand) parser.parseCommand(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + " " + PersonUtil.getPersonDetails(person)); assertEquals(new EditCommand(INDEX_FIRST_PERSON, descriptor), command); + EditCommand aliasedCommand = (EditCommand) parser.parseCommand(EditCommand.COMMAND_ALIAS + " " + + INDEX_FIRST_PERSON.getOneBased() + " " + PersonUtil.getPersonDetails(person)); + assertEquals(new EditCommand(INDEX_FIRST_PERSON, descriptor), aliasedCommand); } @Test public void parseCommand_exit() throws Exception { assertTrue(parser.parseCommand(ExitCommand.COMMAND_WORD) instanceof ExitCommand); assertTrue(parser.parseCommand(ExitCommand.COMMAND_WORD + " 3") instanceof ExitCommand); + assertTrue(parser.parseCommand(ExitCommand.COMMAND_ALIAS) instanceof ExitCommand); + assertTrue(parser.parseCommand(ExitCommand.COMMAND_ALIAS + " 3") instanceof ExitCommand); } @Test @@ -82,18 +94,25 @@ public void parseCommand_find() throws Exception { FindCommand command = (FindCommand) parser.parseCommand( FindCommand.COMMAND_WORD + " " + keywords.stream().collect(Collectors.joining(" "))); assertEquals(new FindCommand(new NameContainsKeywordsPredicate(keywords)), command); + FindCommand aliasedCommand = (FindCommand) parser.parseCommand( + FindCommand.COMMAND_ALIAS + " " + keywords.stream().collect(Collectors.joining(" "))); + assertEquals(new FindCommand(new NameContainsKeywordsPredicate(keywords)), aliasedCommand); } @Test public void parseCommand_help() throws Exception { assertTrue(parser.parseCommand(HelpCommand.COMMAND_WORD) instanceof HelpCommand); assertTrue(parser.parseCommand(HelpCommand.COMMAND_WORD + " 3") instanceof HelpCommand); + assertTrue(parser.parseCommand(HelpCommand.COMMAND_ALIAS) instanceof HelpCommand); + assertTrue(parser.parseCommand(HelpCommand.COMMAND_ALIAS + " 3") instanceof HelpCommand); } @Test public void parseCommand_history() throws Exception { assertTrue(parser.parseCommand(HistoryCommand.COMMAND_WORD) instanceof HistoryCommand); assertTrue(parser.parseCommand(HistoryCommand.COMMAND_WORD + " 3") instanceof HistoryCommand); + assertTrue(parser.parseCommand(HistoryCommand.COMMAND_ALIAS) instanceof HistoryCommand); + assertTrue(parser.parseCommand(HistoryCommand.COMMAND_ALIAS + " 3") instanceof HistoryCommand); try { parser.parseCommand("histories"); @@ -107,6 +126,9 @@ public void parseCommand_history() throws Exception { public void parseCommand_list() throws Exception { assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD) instanceof ListCommand); assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " 3") instanceof ListCommand); + + assertTrue(parser.parseCommand(ListCommand.COMMAND_ALIAS) instanceof ListCommand); + assertTrue(parser.parseCommand(ListCommand.COMMAND_ALIAS + " 3") instanceof ListCommand); } @Test @@ -114,18 +136,25 @@ public void parseCommand_select() throws Exception { SelectCommand command = (SelectCommand) parser.parseCommand( SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); assertEquals(new SelectCommand(INDEX_FIRST_PERSON), command); + SelectCommand aliasedCommand = (SelectCommand) parser.parseCommand( + SelectCommand.COMMAND_ALIAS + " " + INDEX_FIRST_PERSON.getOneBased()); + assertEquals(new SelectCommand(INDEX_FIRST_PERSON), aliasedCommand); } @Test public void parseCommand_redoCommandWord_returnsRedoCommand() throws Exception { assertTrue(parser.parseCommand(RedoCommand.COMMAND_WORD) instanceof RedoCommand); assertTrue(parser.parseCommand("redo 1") instanceof RedoCommand); + assertTrue(parser.parseCommand(RedoCommand.COMMAND_ALIAS) instanceof RedoCommand); + assertTrue(parser.parseCommand("r 1") instanceof RedoCommand); } @Test public void parseCommand_undoCommandWord_returnsUndoCommand() throws Exception { assertTrue(parser.parseCommand(UndoCommand.COMMAND_WORD) instanceof UndoCommand); assertTrue(parser.parseCommand("undo 3") instanceof UndoCommand); + assertTrue(parser.parseCommand(UndoCommand.COMMAND_ALIAS) instanceof UndoCommand); + assertTrue(parser.parseCommand("u 3") instanceof UndoCommand); } @Test diff --git a/src/test/java/seedu/address/testutil/PersonUtil.java b/src/test/java/seedu/address/testutil/PersonUtil.java index 642d4f174514..be2237500c79 100644 --- a/src/test/java/seedu/address/testutil/PersonUtil.java +++ b/src/test/java/seedu/address/testutil/PersonUtil.java @@ -21,6 +21,13 @@ public static String getAddCommand(Person person) { return AddCommand.COMMAND_WORD + " " + getPersonDetails(person); } + /** + * Returns an add aliased command string for adding the {@code person}. + */ + public static String getAddAliasCommand(Person person) { + return AddCommand.COMMAND_ALIAS + " " + getPersonDetails(person); + } + /** * Returns the part of command string for the given {@code person}'s details. */ From 898b71a719d5f0141850d8bf95c071155c38528f Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Thu, 8 Mar 2018 14:08:42 +0800 Subject: [PATCH 003/120] Update the user guide to mention command aliases --- docs/UserGuide.adoc | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 74248917e438..d054eb661286 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -42,7 +42,12 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. * **`delete`**`3` : deletes the 3rd contact shown in the current list * *`exit`* : exits the app -. Refer to <> for details of each command. +. Alternatively, you can type replace commands by their aliases which are shorter to achieve the same effect. For example: + +* *`l`* : lists all contacts +* **`d`**`3` : deletes the 3rd contact shown in the current list + +. Refer to <> for details of each command. Command aliases are specified after the `/` symbol. [[Features]] == Features @@ -56,11 +61,11 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. * Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. ==== -=== Viewing help : `help` +=== Viewing help : `help` / `?` Format: `help` -=== Adding a person: `add` +=== Adding a person: `add` / `a` Adds a person to the address book + Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` @@ -73,12 +78,12 @@ Examples: * `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` * `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal` -=== Listing all persons : `list` +=== Listing all persons : `list` / `l` Shows a list of all persons in the address book. + Format: `list` -=== Editing a person : `edit` +=== Editing a person : `edit` / `e` Edits an existing person in the address book. + Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` @@ -98,7 +103,7 @@ Edits the phone number and email address of the 1st person to be `91234567` and * `edit 2 n/Betsy Crower t/` + Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. -=== Locating persons by name: `find` +=== Locating persons by name: `find` / `f` Finds persons whose names contain any of the given keywords. + Format: `find KEYWORD [MORE_KEYWORDS]` @@ -118,7 +123,7 @@ Returns `john` and `John Doe` * `find Betsy Tim John` + Returns any person having names `Betsy`, `Tim`, or `John` -=== Deleting a person : `delete` +=== Deleting a person : `delete` / `d` Deletes the specified person from the address book. + Format: `delete INDEX` @@ -138,7 +143,7 @@ Deletes the 2nd person in the address book. `delete 1` + Deletes the 1st person in the results of the `find` command. -=== Selecting a person : `select` +=== Selecting a person : `select` / `s` Selects the person identified by the index number used in the last person listing. + Format: `select INDEX` @@ -158,7 +163,7 @@ Selects the 2nd person in the address book. `select 1` + Selects the 1st person in the results of the `find` command. -=== Listing entered commands : `history` +=== Listing entered commands : `history` / `h` Lists all the commands that you have entered in reverse chronological order. + Format: `history` @@ -169,7 +174,7 @@ Pressing the kbd:[↑] and kbd:[↓] arrows will display the previous and ==== // tag::undoredo[] -=== Undoing previous command : `undo` +=== Undoing previous command : `undo` / `u` Restores the address book to the state before the previous _undoable_ command was executed. + Format: `undo` @@ -195,7 +200,7 @@ The `undo` command fails as there are no undoable commands executed previously. `undo` (reverses the `clear` command) + `undo` (reverses the `delete 1` command) + -=== Redoing the previously undone command : `redo` +=== Redoing the previously undone command : `redo` / `r` Reverses the most recent `undo` command. + Format: `redo` @@ -218,12 +223,12 @@ The `redo` command fails as there are no `undo` commands executed previously. `redo` (reapplies the `clear` command) + // end::undoredo[] -=== Clearing all entries : `clear` +=== Clearing all entries : `clear` / `c` Clears all entries from the address book. + Format: `clear` -=== Exiting the program : `exit` +=== Exiting the program : `exit` / `q` Exits the program. + Format: `exit` From 560859457f04a598d5e92ef8c676fc8ee36c14bb Mon Sep 17 00:00:00 2001 From: chengyu Date: Thu, 8 Mar 2018 23:21:16 +0800 Subject: [PATCH 004/120] Add backupAddressBook method to AddressBookStorage interface --- .../java/seedu/address/storage/AddressBookStorage.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index cf5b527c063a..59e333c89ddd 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -41,4 +41,11 @@ public interface AddressBookStorage { */ void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException; + /** + * Saves the given {@link ReadOnlyAddressBook} to a fixed temporary location. + * @param addressBook cannot be null. + * @throws IOException if there was any problem writing to the file. + */ + void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException; + } From 8922b9293c90f511bc8d0d706414325c7f9085c9 Mon Sep 17 00:00:00 2001 From: chengyu Date: Thu, 8 Mar 2018 23:33:58 +0800 Subject: [PATCH 005/120] Add overloaded backupAddressBook method --- src/main/java/seedu/address/storage/AddressBookStorage.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index 59e333c89ddd..86f5924fe405 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -48,4 +48,9 @@ public interface AddressBookStorage { */ void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException; + /** + * @see #backupAddressBook(ReadOnlyAddressBook) + */ + void backupAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException; + } From d85fbbe11caeebe550b73df633c55ed2eb8f7313 Mon Sep 17 00:00:00 2001 From: chengyu Date: Fri, 9 Mar 2018 00:34:05 +0800 Subject: [PATCH 006/120] Remove unneeded overloaded method --- .../java/seedu/address/storage/AddressBookStorage.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index 86f5924fe405..d6fdaa86d403 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -47,10 +47,5 @@ public interface AddressBookStorage { * @throws IOException if there was any problem writing to the file. */ void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException; - - /** - * @see #backupAddressBook(ReadOnlyAddressBook) - */ - void backupAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException; - + } From 4078d5384e3e4b6a17f3c6e682341240c5b2f1b0 Mon Sep 17 00:00:00 2001 From: chengyu Date: Fri, 9 Mar 2018 00:34:51 +0800 Subject: [PATCH 007/120] Add backupAddressBook method to StorageManager class --- src/main/java/seedu/address/storage/StorageManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java index 53967b391a5a..7a17725b0433 100644 --- a/src/main/java/seedu/address/storage/StorageManager.java +++ b/src/main/java/seedu/address/storage/StorageManager.java @@ -77,6 +77,10 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) th addressBookStorage.saveAddressBook(addressBook, filePath); } + @Override + public void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException { + addressBookStorage.backupAddressBook(addressBook); + } @Override @Subscribe From cd403d88b7d9636b21459afc0b1027f1e573e814 Mon Sep 17 00:00:00 2001 From: chengyu Date: Fri, 9 Mar 2018 00:35:46 +0800 Subject: [PATCH 008/120] Add backupAddressBook method to XmlAddressBookStorage class --- .../java/seedu/address/storage/XmlAddressBookStorage.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/seedu/address/storage/XmlAddressBookStorage.java b/src/main/java/seedu/address/storage/XmlAddressBookStorage.java index c77ebe67435c..49ed4c63b84b 100644 --- a/src/main/java/seedu/address/storage/XmlAddressBookStorage.java +++ b/src/main/java/seedu/address/storage/XmlAddressBookStorage.java @@ -21,6 +21,8 @@ public class XmlAddressBookStorage implements AddressBookStorage { private static final Logger logger = LogsCenter.getLogger(XmlAddressBookStorage.class); + private static final String backupFilePath = "data/backup.xml"; + private String filePath; public XmlAddressBookStorage(String filePath) { @@ -79,4 +81,9 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) th XmlFileStorage.saveDataToFile(file, new XmlSerializableAddressBook(addressBook)); } + @Override + public void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException { + saveAddressBook(addressBook, backupFilePath); + } + } From cd246693766e370aa43dd3ba0a441dcc758cb522 Mon Sep 17 00:00:00 2001 From: chengyu Date: Fri, 9 Mar 2018 00:50:15 +0800 Subject: [PATCH 009/120] Remove trailing whitespaces --- src/main/java/seedu/address/storage/AddressBookStorage.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index d6fdaa86d403..063be6befbc1 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -47,5 +47,4 @@ public interface AddressBookStorage { * @throws IOException if there was any problem writing to the file. */ void backupAddressBook(ReadOnlyAddressBook addressBook) throws IOException; - } From b1f1643a4101ee82aeb0bb5e17974144bb9c6e87 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 9 Mar 2018 16:02:14 +0800 Subject: [PATCH 010/120] [#11] Various UI enhancements (#16) * PersonCard#tags: Add colors to the labels * NewResultAvailableEvent: Add error flag * ResultDisplay: Make it actually set error style * StatusBarFooter: Implement support for item count * Update all tests --- .../events/ui/NewResultAvailableEvent.java | 4 ++- .../java/seedu/address/ui/CommandBox.java | 4 +-- .../java/seedu/address/ui/MainWindow.java | 3 +- .../java/seedu/address/ui/PersonCard.java | 26 +++++++++++++- .../java/seedu/address/ui/ResultDisplay.java | 34 ++++++++++++++++++ .../seedu/address/ui/StatusBarFooter.java | 11 +++++- src/main/resources/view/DarkTheme.css | 30 ++++++++++++++++ src/main/resources/view/StatusBarFooter.fxml | 3 +- .../guihandles/ResultDisplayHandle.java | 8 +++++ .../guihandles/StatusBarFooterHandle.java | 26 ++++++++++++++ .../seedu/address/ui/ResultDisplayTest.java | 31 ++++++++++++++-- .../seedu/address/ui/StatusBarFooterTest.java | 34 ++++++++++++++---- .../systemtests/AddCommandSystemTest.java | 6 ++-- .../systemtests/AddressBookSystemTest.java | 35 ++++++++++++++++--- .../systemtests/ClearCommandSystemTest.java | 6 ++-- .../systemtests/DeleteCommandSystemTest.java | 6 ++-- .../systemtests/EditCommandSystemTest.java | 4 +-- .../systemtests/FindCommandSystemTest.java | 4 +-- .../systemtests/HelpCommandSystemTest.java | 2 +- .../systemtests/SelectCommandSystemTest.java | 4 +-- 20 files changed, 245 insertions(+), 36 deletions(-) diff --git a/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java b/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java index a6d5274a97e0..ff6bfe3b43ae 100644 --- a/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java @@ -8,9 +8,11 @@ public class NewResultAvailableEvent extends BaseEvent { public final String message; + public final boolean isError; - public NewResultAvailableEvent(String message) { + public NewResultAvailableEvent(String message, boolean isError) { this.message = message; + this.isError = isError; } @Override diff --git a/src/main/java/seedu/address/ui/CommandBox.java b/src/main/java/seedu/address/ui/CommandBox.java index 9cef588df3c3..5adc654471a2 100644 --- a/src/main/java/seedu/address/ui/CommandBox.java +++ b/src/main/java/seedu/address/ui/CommandBox.java @@ -107,14 +107,14 @@ private void handleCommandInputChanged() { // process result of the command commandTextField.setText(""); logger.info("Result: " + commandResult.feedbackToUser); - raise(new NewResultAvailableEvent(commandResult.feedbackToUser)); + raise(new NewResultAvailableEvent(commandResult.feedbackToUser, false)); } catch (CommandException | ParseException e) { initHistory(); // handle command failure setStyleToIndicateCommandFailure(); logger.info("Invalid command: " + commandTextField.getText()); - raise(new NewResultAvailableEvent(e.getMessage())); + raise(new NewResultAvailableEvent(e.getMessage(), true)); } } diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 20ad5fee906a..23dbd489bd9c 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -125,7 +125,8 @@ void fillInnerParts() { ResultDisplay resultDisplay = new ResultDisplay(); resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); - StatusBarFooter statusBarFooter = new StatusBarFooter(prefs.getAddressBookFilePath()); + StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getFilteredPersonList().size(), + prefs.getAddressBookFilePath()); statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); CommandBox commandBox = new CommandBox(logic); diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index f6727ea83abd..203221200452 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -6,6 +6,7 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.Region; import seedu.address.model.person.Person; +import seedu.address.model.tag.Tag; /** * An UI component that displays information of a {@code Person}. @@ -13,6 +14,9 @@ public class PersonCard extends UiPart { private static final String FXML = "PersonListCard.fxml"; + private static final String[] TAG_STYLE_CLASSES = { + "red", "blue", "yellow", "grey", "burlywood", "plum" + }; /** * Note: Certain keywords such as "location" and "resources" are reserved keywords in JavaFX. @@ -47,7 +51,27 @@ public PersonCard(Person person, int displayedIndex) { phone.setText(person.getPhone().value); address.setText(person.getAddress().value); email.setText(person.getEmail().value); - person.getTags().forEach(tag -> tags.getChildren().add(new Label(tag.tagName))); + person.getTags().forEach(tag -> newTag(tag)); + } + + /** + * Create the tag label and add it to the display list. + * @param tag + */ + public void newTag(Tag tag) { + Label label = new Label(tag.tagName); + label.getStyleClass().add(getLabelColor(tag)); + tags.getChildren().add(label); + } + + /** + * Retrieve a color for the specified tag's label. + * @param tag + * @return Label style as a CSS class name string. + */ + private String getLabelColor(Tag tag) { + int choice = Math.abs(tag.tagName.hashCode()); + return TAG_STYLE_CLASSES[choice % TAG_STYLE_CLASSES.length]; } @Override diff --git a/src/main/java/seedu/address/ui/ResultDisplay.java b/src/main/java/seedu/address/ui/ResultDisplay.java index d05536bbee96..30e415779892 100644 --- a/src/main/java/seedu/address/ui/ResultDisplay.java +++ b/src/main/java/seedu/address/ui/ResultDisplay.java @@ -7,6 +7,7 @@ import javafx.application.Platform; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; +import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.TextArea; import javafx.scene.layout.Region; @@ -18,6 +19,7 @@ */ public class ResultDisplay extends UiPart { + public static final String ERROR_STYLE_CLASS = "error"; private static final Logger logger = LogsCenter.getLogger(ResultDisplay.class); private static final String FXML = "ResultDisplay.fxml"; @@ -36,6 +38,38 @@ public ResultDisplay() { private void handleNewResultAvailableEvent(NewResultAvailableEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); Platform.runLater(() -> displayed.setValue(event.message)); + setStyle(event.isError); + } + + /** + * Sets the result style + */ + private void setStyle(boolean isError) { + if (isError) { + setStyleToIndicateCommandFailure(); + } else { + setStyleToDefault(); + } + } + + /** + * Sets the result style to use the default style. + */ + private void setStyleToDefault() { + resultDisplay.getStyleClass().remove(ERROR_STYLE_CLASS); + } + + /** + * Sets the result style to indicate a failed command. + */ + private void setStyleToIndicateCommandFailure() { + ObservableList styleClass = resultDisplay.getStyleClass(); + + if (styleClass.contains(ERROR_STYLE_CLASS)) { + return; + } + + styleClass.add(ERROR_STYLE_CLASS); } } diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index 06fb7e50c935..0665b9bb1cc6 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -21,6 +21,7 @@ public class StatusBarFooter extends UiPart { public static final String SYNC_STATUS_INITIAL = "Not updated yet in this session"; public static final String SYNC_STATUS_UPDATED = "Last Updated: %s"; + public static final String ITEM_COUNT_STATUS = "%d item(s) total"; /** * Used to generate time stamps. @@ -40,11 +41,14 @@ public class StatusBarFooter extends UiPart { private StatusBar syncStatus; @FXML private StatusBar saveLocationStatus; + @FXML + private StatusBar itemCountStatus; - public StatusBarFooter(String saveLocation) { + public StatusBarFooter(int numItems, String saveLocation) { super(FXML); setSyncStatus(SYNC_STATUS_INITIAL); + setItemCountStatus(numItems); setSaveLocation("./" + saveLocation); registerAsAnEventHandler(this); } @@ -67,6 +71,10 @@ private void setSaveLocation(String location) { Platform.runLater(() -> this.saveLocationStatus.setText(location)); } + private void setItemCountStatus(int numItems) { + Platform.runLater(() -> this.itemCountStatus.setText(String.format(ITEM_COUNT_STATUS, numItems))); + } + private void setSyncStatus(String status) { Platform.runLater(() -> this.syncStatus.setText(status)); } @@ -77,5 +85,6 @@ public void handleAddressBookChangedEvent(AddressBookChangedEvent abce) { String lastUpdated = new Date(now).toString(); logger.info(LogsCenter.getEventHandlingLogMessage(abce, "Setting last updated status to " + lastUpdated)); setSyncStatus(String.format(SYNC_STATUS_UPDATED, lastUpdated)); + setItemCountStatus(abce.data.getPersonList().size()); } } diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index d06336391cca..afc823d6d7bc 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -349,3 +349,33 @@ -fx-background-radius: 2; -fx-font-size: 11; } + +#tags .label.red { + -fx-text-fill: white; + -fx-background-color: red; +} + +#tags .label.blue { + -fx-text-fill: black; + -fx-background-color: lightblue; +} + +#tags .label.yellow { + -fx-text-fill: black; + -fx-background-color: yellow; +} + +#tags .label.grey { + -fx-text-fill: black; + -fx-background-color: grey; +} + +#tags .label.burlywood { + -fx-text-fill: black; + -fx-background-color: burlywood; +} + +#tags .label.plum { + -fx-text-fill: white; + -fx-background-color: plum; +} diff --git a/src/main/resources/view/StatusBarFooter.fxml b/src/main/resources/view/StatusBarFooter.fxml index 5a9c5a65e43f..ddfc12b05ba1 100644 --- a/src/main/resources/view/StatusBarFooter.fxml +++ b/src/main/resources/view/StatusBarFooter.fxml @@ -10,5 +10,6 @@ - + + diff --git a/src/test/java/guitests/guihandles/ResultDisplayHandle.java b/src/test/java/guitests/guihandles/ResultDisplayHandle.java index ec445e4154ff..f5a4f9e720d8 100644 --- a/src/test/java/guitests/guihandles/ResultDisplayHandle.java +++ b/src/test/java/guitests/guihandles/ResultDisplayHandle.java @@ -1,5 +1,6 @@ package guitests.guihandles; +import javafx.collections.ObservableList; import javafx.scene.control.TextArea; /** @@ -19,4 +20,11 @@ public ResultDisplayHandle(TextArea resultDisplayNode) { public String getText() { return getRootNode().getText(); } + + /** + * Returns the list of style classes present in the command box. + */ + public ObservableList getStyleClass() { + return getRootNode().getStyleClass(); + } } diff --git a/src/test/java/guitests/guihandles/StatusBarFooterHandle.java b/src/test/java/guitests/guihandles/StatusBarFooterHandle.java index 5111fba42b33..0085771c34a4 100644 --- a/src/test/java/guitests/guihandles/StatusBarFooterHandle.java +++ b/src/test/java/guitests/guihandles/StatusBarFooterHandle.java @@ -11,18 +11,22 @@ public class StatusBarFooterHandle extends NodeHandle { public static final String STATUS_BAR_PLACEHOLDER = "#statusbarPlaceholder"; private static final String SYNC_STATUS_ID = "#syncStatus"; + private static final String ITEM_COUNT_ID = "#itemCountStatus"; private static final String SAVE_LOCATION_STATUS_ID = "#saveLocationStatus"; private final StatusBar syncStatusNode; + private final StatusBar itemCountNode; private final StatusBar saveLocationNode; private String lastRememberedSyncStatus; + private String lastRememberedItemCount; private String lastRememberedSaveLocation; public StatusBarFooterHandle(Node statusBarFooterNode) { super(statusBarFooterNode); this.syncStatusNode = getChildNode(SYNC_STATUS_ID); + this.itemCountNode = getChildNode(ITEM_COUNT_ID); this.saveLocationNode = getChildNode(SAVE_LOCATION_STATUS_ID); } @@ -33,6 +37,13 @@ public String getSyncStatus() { return syncStatusNode.getText(); } + /** + * Returns the text of the item count portion of the status bar. + */ + public String getItemCount() { + return itemCountNode.getText(); + } + /** * Returns the text of the 'save location' portion of the status bar. */ @@ -55,6 +66,21 @@ public boolean isSyncStatusChanged() { return !lastRememberedSyncStatus.equals(getSyncStatus()); } + /** + * Remembers the content of the item count portion of the status bar. + */ + public void rememberItemCount() { + lastRememberedItemCount = getItemCount(); + } + + /** + * Returns true if the current item count is different from the value remembered by the most recent + * {@code rememberItemCount()} call. + */ + public boolean isItemCountChanged() { + return !lastRememberedItemCount.equals(getItemCount()); + } + /** * Remembers the content of the 'save location' portion of the status bar. */ diff --git a/src/test/java/seedu/address/ui/ResultDisplayTest.java b/src/test/java/seedu/address/ui/ResultDisplayTest.java index acea62615ff4..db25561bf166 100644 --- a/src/test/java/seedu/address/ui/ResultDisplayTest.java +++ b/src/test/java/seedu/address/ui/ResultDisplayTest.java @@ -3,6 +3,8 @@ import static org.junit.Assert.assertEquals; import static seedu.address.testutil.EventsUtil.postNow; +import java.util.ArrayList; + import org.junit.Before; import org.junit.Test; @@ -11,10 +13,14 @@ public class ResultDisplayTest extends GuiUnitTest { - private static final NewResultAvailableEvent NEW_RESULT_EVENT_STUB = new NewResultAvailableEvent("Stub"); + private static final NewResultAvailableEvent NEW_RESULT_EVENT_STUB = new NewResultAvailableEvent("Stub", false); + private static final NewResultAvailableEvent NEW_RESULT_ERROR_STUB = new NewResultAvailableEvent("Stub", true); private ResultDisplayHandle resultDisplayHandle; + private ArrayList defaultStyleOfResultDisplay; + private ArrayList errorStyleOfResultDisplay; + @Before public void setUp() { ResultDisplay resultDisplay = new ResultDisplay(); @@ -22,6 +28,11 @@ public void setUp() { resultDisplayHandle = new ResultDisplayHandle(getChildNode(resultDisplay.getRoot(), ResultDisplayHandle.RESULT_DISPLAY_ID)); + + defaultStyleOfResultDisplay = new ArrayList<>(resultDisplayHandle.getStyleClass()); + + errorStyleOfResultDisplay = new ArrayList<>(defaultStyleOfResultDisplay); + errorStyleOfResultDisplay.add(ResultDisplay.ERROR_STYLE_CLASS); } @Test @@ -29,10 +40,24 @@ public void display() { // default result text guiRobot.pauseForHuman(); assertEquals("", resultDisplayHandle.getText()); + assertEquals(defaultStyleOfResultDisplay, resultDisplayHandle.getStyleClass()); // new result received - postNow(NEW_RESULT_EVENT_STUB); + assertMessageAndStyleCorrect(NEW_RESULT_EVENT_STUB, defaultStyleOfResultDisplay); + assertMessageAndStyleCorrect(NEW_RESULT_ERROR_STUB, errorStyleOfResultDisplay); + } + + /** + * Posts given event and verifies that the
+ * - the text is the expected message
+ * - the style is the same as {@code expectedStyle}. + * @param event + * @param expectedStyle + */ + private void assertMessageAndStyleCorrect(NewResultAvailableEvent event, ArrayList expectedStyle) { + postNow(event); guiRobot.pauseForHuman(); - assertEquals(NEW_RESULT_EVENT_STUB.message, resultDisplayHandle.getText()); + assertEquals(event.message, resultDisplayHandle.getText()); + assertEquals(expectedStyle, resultDisplayHandle.getStyleClass()); } } diff --git a/src/test/java/seedu/address/ui/StatusBarFooterTest.java b/src/test/java/seedu/address/ui/StatusBarFooterTest.java index 0c75a73b1864..f4fed1632a3b 100644 --- a/src/test/java/seedu/address/ui/StatusBarFooterTest.java +++ b/src/test/java/seedu/address/ui/StatusBarFooterTest.java @@ -2,6 +2,7 @@ import static org.junit.Assert.assertEquals; import static seedu.address.testutil.EventsUtil.postNow; +import static seedu.address.ui.StatusBarFooter.ITEM_COUNT_STATUS; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_INITIAL; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_UPDATED; @@ -18,6 +19,7 @@ import guitests.guihandles.StatusBarFooterHandle; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.model.AddressBook; +import seedu.address.testutil.TypicalPersons; public class StatusBarFooterTest extends GuiUnitTest { @@ -29,6 +31,8 @@ public class StatusBarFooterTest extends GuiUnitTest { private static final Clock originalClock = StatusBarFooter.getClock(); private static final Clock injectedClock = Clock.fixed(Instant.now(), ZoneId.systemDefault()); + private static AddressBookChangedEvent EVENT_ADDED; + private StatusBarFooterHandle statusBarFooterHandle; @BeforeClass @@ -44,30 +48,48 @@ public static void tearDownAfterClass() { } @Before - public void setUp() { - StatusBarFooter statusBarFooter = new StatusBarFooter(STUB_SAVE_LOCATION); + public void setUp() throws Exception { + StatusBarFooter statusBarFooter = new StatusBarFooter(0, STUB_SAVE_LOCATION); uiPartRule.setUiPart(statusBarFooter); statusBarFooterHandle = new StatusBarFooterHandle(statusBarFooter.getRoot()); + + AddressBook tempAddressBook = new AddressBook(); + tempAddressBook.addPerson(TypicalPersons.ALICE); + EVENT_ADDED = new AddressBookChangedEvent(tempAddressBook); } @Test public void display() { // initial state - assertStatusBarContent(RELATIVE_PATH + STUB_SAVE_LOCATION, SYNC_STATUS_INITIAL); + assertStatusBarContent(RELATIVE_PATH + STUB_SAVE_LOCATION, + String.format(ITEM_COUNT_STATUS, 0), + SYNC_STATUS_INITIAL); // after address book is updated postNow(EVENT_STUB); assertStatusBarContent(RELATIVE_PATH + STUB_SAVE_LOCATION, + String.format(ITEM_COUNT_STATUS, EVENT_STUB.data.getPersonList().size()), + String.format(SYNC_STATUS_UPDATED, new Date(injectedClock.millis()).toString())); + + // after address book is updated again + postNow(EVENT_ADDED); + assertStatusBarContent(RELATIVE_PATH + STUB_SAVE_LOCATION, + String.format(ITEM_COUNT_STATUS, EVENT_ADDED.data.getPersonList().size()), String.format(SYNC_STATUS_UPDATED, new Date(injectedClock.millis()).toString())); } /** - * Asserts that the save location matches that of {@code expectedSaveLocation}, and the - * sync status matches that of {@code expectedSyncStatus}. + * Asserts that the - + * save location matches that of {@code expectedSaveLocation}, + * item count matches that of {@code expectedItemCount}, and + * sync status matches that of {@code expectedSyncStatus}. */ - private void assertStatusBarContent(String expectedSaveLocation, String expectedSyncStatus) { + private void assertStatusBarContent(String expectedSaveLocation, + String expectedItemCount, + String expectedSyncStatus) { assertEquals(expectedSaveLocation, statusBarFooterHandle.getSaveLocation()); + assertEquals(expectedItemCount, statusBarFooterHandle.getItemCount()); assertEquals(expectedSyncStatus, statusBarFooterHandle.getSyncStatus()); guiRobot.pauseForHuman(); } diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 3254b60154c4..0697ad927b79 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -234,8 +234,8 @@ private void assertCommandSuccess(String command, Model expectedModel, String ex executeCommand(command); assertApplicationDisplaysExpected("", expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsDefaultStyle(); - assertStatusBarUnchangedExceptSyncStatus(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); + assertStatusBarChangedExceptSaveLocation(); } /** @@ -255,7 +255,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } diff --git a/src/test/java/systemtests/AddressBookSystemTest.java b/src/test/java/systemtests/AddressBookSystemTest.java index 97cdf96d65b8..616070684ea8 100644 --- a/src/test/java/systemtests/AddressBookSystemTest.java +++ b/src/test/java/systemtests/AddressBookSystemTest.java @@ -5,6 +5,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static seedu.address.ui.BrowserPanel.DEFAULT_PAGE; +import static seedu.address.ui.StatusBarFooter.ITEM_COUNT_STATUS; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_INITIAL; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_UPDATED; import static seedu.address.ui.UiPart.FXML_FILE_FOLDER; @@ -41,6 +42,7 @@ import seedu.address.testutil.TypicalPersons; import seedu.address.ui.BrowserPanel; import seedu.address.ui.CommandBox; +import seedu.address.ui.ResultDisplay; /** * A system test class for AddressBook, which provides access to handles of GUI components and helper methods @@ -54,6 +56,11 @@ public abstract class AddressBookSystemTest { private static final List COMMAND_BOX_ERROR_STYLE = Arrays.asList("text-input", "text-field", CommandBox.ERROR_STYLE_CLASS); + private static final List RESULT_DISPLAY_DEFAULT_STYLE = + Arrays.asList("text-input", "text-area", "result-display"); + private static final List RESULT_DISPLAY_ERROR_STYLE = + Arrays.asList("text-input", "text-area", "result-display", ResultDisplay.ERROR_STYLE_CLASS); + private MainWindowHandle mainWindowHandle; private TestApp testApp; private SystemTestSetupHelper setupHelper; @@ -190,6 +197,7 @@ private void rememberStates() { StatusBarFooterHandle statusBarFooterHandle = getStatusBarFooter(); getBrowserPanel().rememberUrl(); statusBarFooterHandle.rememberSaveLocation(); + statusBarFooterHandle.rememberItemCount(); statusBarFooterHandle.rememberSyncStatus(); getPersonListPanel().rememberSelectedPersonCard(); } @@ -234,17 +242,19 @@ protected void assertSelectedCardUnchanged() { } /** - * Asserts that the command box's shows the default style. + * Asserts that the feedback messages show the default style. */ - protected void assertCommandBoxShowsDefaultStyle() { + protected void assertCommandBoxAndResultDisplayShowsDefaultStyle() { assertEquals(COMMAND_BOX_DEFAULT_STYLE, getCommandBox().getStyleClass()); + assertEquals(RESULT_DISPLAY_DEFAULT_STYLE, getResultDisplay().getStyleClass()); } /** - * Asserts that the command box's shows the error style. + * Asserts that the feedback messages show the error style. */ - protected void assertCommandBoxShowsErrorStyle() { + protected void assertCommandBoxAndResultDisplayShowsErrorStyle() { assertEquals(COMMAND_BOX_ERROR_STYLE, getCommandBox().getStyleClass()); + assertEquals(RESULT_DISPLAY_ERROR_STYLE, getResultDisplay().getStyleClass()); } /** @@ -253,6 +263,7 @@ protected void assertCommandBoxShowsErrorStyle() { protected void assertStatusBarUnchanged() { StatusBarFooterHandle handle = getStatusBarFooter(); assertFalse(handle.isSaveLocationChanged()); + assertFalse(handle.isItemCountChanged()); assertFalse(handle.isSyncStatusChanged()); } @@ -265,6 +276,22 @@ protected void assertStatusBarUnchangedExceptSyncStatus() { String timestamp = new Date(clockRule.getInjectedClock().millis()).toString(); String expectedSyncStatus = String.format(SYNC_STATUS_UPDATED, timestamp); assertEquals(expectedSyncStatus, handle.getSyncStatus()); + assertFalse(handle.isItemCountChanged()); + assertFalse(handle.isSaveLocationChanged()); + } + + /** + * Asserts that the status bar was updated correctly, + * while the save location remains the same. + */ + protected void assertStatusBarChangedExceptSaveLocation() { + StatusBarFooterHandle handle = getStatusBarFooter(); + String timestamp = new Date(clockRule.getInjectedClock().millis()).toString(); + String expectedSyncStatus = String.format(SYNC_STATUS_UPDATED, timestamp); + String expectedItemCountStatus = String.format(ITEM_COUNT_STATUS, + testApp.getModel().getAddressBook().getPersonList().size()); + assertEquals(expectedSyncStatus, handle.getSyncStatus()); + assertEquals(expectedItemCountStatus, handle.getItemCount()); assertFalse(handle.isSaveLocationChanged()); } diff --git a/src/test/java/systemtests/ClearCommandSystemTest.java b/src/test/java/systemtests/ClearCommandSystemTest.java index 805a59784e29..bf3b55db324b 100644 --- a/src/test/java/systemtests/ClearCommandSystemTest.java +++ b/src/test/java/systemtests/ClearCommandSystemTest.java @@ -76,8 +76,8 @@ private void assertCommandSuccess(String command) { private void assertCommandSuccess(String command, String expectedResultMessage, Model expectedModel) { executeCommand(command); assertApplicationDisplaysExpected("", expectedResultMessage, expectedModel); - assertCommandBoxShowsDefaultStyle(); - assertStatusBarUnchangedExceptSyncStatus(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); + assertStatusBarChangedExceptSaveLocation(); } /** @@ -95,7 +95,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } diff --git a/src/test/java/systemtests/DeleteCommandSystemTest.java b/src/test/java/systemtests/DeleteCommandSystemTest.java index c0de78e4aba6..90a230752e5c 100644 --- a/src/test/java/systemtests/DeleteCommandSystemTest.java +++ b/src/test/java/systemtests/DeleteCommandSystemTest.java @@ -173,8 +173,8 @@ private void assertCommandSuccess(String command, Model expectedModel, String ex assertSelectedCardUnchanged(); } - assertCommandBoxShowsDefaultStyle(); - assertStatusBarUnchangedExceptSyncStatus(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); + assertStatusBarChangedExceptSaveLocation(); } /** @@ -194,7 +194,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } diff --git a/src/test/java/systemtests/EditCommandSystemTest.java b/src/test/java/systemtests/EditCommandSystemTest.java index 820933203dd9..abb7e4edd1a6 100644 --- a/src/test/java/systemtests/EditCommandSystemTest.java +++ b/src/test/java/systemtests/EditCommandSystemTest.java @@ -250,7 +250,7 @@ private void assertCommandSuccess(String command, Model expectedModel, String ex executeCommand(command); expectedModel.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); assertApplicationDisplaysExpected("", expectedResultMessage, expectedModel); - assertCommandBoxShowsDefaultStyle(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); if (expectedSelectedCardIndex != null) { assertSelectedCardChanged(expectedSelectedCardIndex); } else { @@ -276,7 +276,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } diff --git a/src/test/java/systemtests/FindCommandSystemTest.java b/src/test/java/systemtests/FindCommandSystemTest.java index 0bde83c0444b..12b69232afb6 100644 --- a/src/test/java/systemtests/FindCommandSystemTest.java +++ b/src/test/java/systemtests/FindCommandSystemTest.java @@ -170,7 +170,7 @@ private void assertCommandSuccess(String command, Model expectedModel) { executeCommand(command); assertApplicationDisplaysExpected("", expectedResultMessage, expectedModel); - assertCommandBoxShowsDefaultStyle(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); assertStatusBarUnchanged(); } @@ -189,7 +189,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } diff --git a/src/test/java/systemtests/HelpCommandSystemTest.java b/src/test/java/systemtests/HelpCommandSystemTest.java index 1aa4a5f294f4..7e1bc80e2357 100644 --- a/src/test/java/systemtests/HelpCommandSystemTest.java +++ b/src/test/java/systemtests/HelpCommandSystemTest.java @@ -62,7 +62,7 @@ public void openHelpWindow() { // assert that while the help window is open the UI updates correctly for a command execution executeCommand(SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); assertEquals("", getCommandBox().getInput()); - assertCommandBoxShowsDefaultStyle(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); assertNotEquals(HelpCommand.SHOWING_HELP_MESSAGE, getResultDisplay().getText()); assertNotEquals(BrowserPanel.DEFAULT_PAGE, getBrowserPanel().getLoadedUrl()); assertListMatching(getPersonListPanel(), getModel().getFilteredPersonList()); diff --git a/src/test/java/systemtests/SelectCommandSystemTest.java b/src/test/java/systemtests/SelectCommandSystemTest.java index c7deb73454b1..70bf2730a603 100644 --- a/src/test/java/systemtests/SelectCommandSystemTest.java +++ b/src/test/java/systemtests/SelectCommandSystemTest.java @@ -126,7 +126,7 @@ private void assertCommandSuccess(String command, Index expectedSelectedCardInde assertSelectedCardChanged(expectedSelectedCardIndex); } - assertCommandBoxShowsDefaultStyle(); + assertCommandBoxAndResultDisplayShowsDefaultStyle(); assertStatusBarUnchanged(); } @@ -147,7 +147,7 @@ private void assertCommandFailure(String command, String expectedResultMessage) executeCommand(command); assertApplicationDisplaysExpected(command, expectedResultMessage, expectedModel); assertSelectedCardUnchanged(); - assertCommandBoxShowsErrorStyle(); + assertCommandBoxAndResultDisplayShowsErrorStyle(); assertStatusBarUnchanged(); } } From ff7335a59f40e4887a915e585d5cfac9906ca630 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Wed, 14 Mar 2018 12:01:21 +0800 Subject: [PATCH 011/120] v1.0 Documentation (#29) - UserGuide.adoc: Update links - README.adoc: Update badges Add acknowledgements to se-edu - DeveloperGuide.adoc: Update links Add more NFRs Add User Stories Add target user profile Add glossary Add Use cases Fix formatting in Sections 1,4,5,6 - build.gradle: Add trailing whitespace autofix for docs - Disable `CATASTROPHIC FAILURE: Whitespace errors' --- README.adoc | 11 +- appveyor.yml | 2 +- build.gradle | 24 +++ config/travis/check-trailing-whitespace.sh | 4 +- docs/DeveloperGuide.adoc | 223 +++++++++++++++------ docs/UserGuide.adoc | 2 +- docs/images/eldon-chung.jpg | Bin 0 -> 113790 bytes gradle.properties | 1 + 8 files changed, 191 insertions(+), 76 deletions(-) create mode 100644 docs/images/eldon-chung.jpg diff --git a/README.adoc b/README.adoc index 03eff3a4d191..68c07915b53c 100644 --- a/README.adoc +++ b/README.adoc @@ -1,11 +1,10 @@ = Address Book (Level 4) ifdef::env-github,env-browser[:relfileprefix: docs/] -https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]] -https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] -https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]] -https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] -https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] +https://travis-ci.org/CS2103JAN2018-F09-B3/main[image:https://travis-ci.org/CS2103JAN2018-F09-B3/main.svg?branch=master[Build Status]] +https://ci.appveyor.com/project/ewaldhew/main[image:https://ci.appveyor.com/api/projects/status/anm4ynat6657reac?svg=true[Build Status]] +https://coveralls.io/github/CS2103JAN2018-F09-B3/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-F09-B3/main/badge.svg?branch=master[Coverage Status]] + ifdef::env-github[] image::docs/images/Ui.png[width="600"] @@ -27,12 +26,12 @@ endif::[] * <> * <> -* <> * <> * <> == Acknowledgements +* Based off the AddressBook-Level4 project, a software project for students learning Software Engineering with Java as the main programming language. Created by the SE-EDU initiative at https://github.com/se-edu/. * Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by _Marco Jakob_. * Libraries used: https://github.com/TomasMikula/EasyBind[EasyBind], https://github.com/TestFX/TestFX[TextFX], https://bitbucket.org/controlsfx/controlsfx/[ControlsFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/google/guava[Guava], https://github.com/junit-team/junit4[JUnit4] diff --git a/appveyor.yml b/appveyor.yml index 4660f313ab8b..030250272ba5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,7 +5,7 @@ # --no-daemon: Prevent the daemon from launching to prevent file-in-use errors # when we cache the ~/.gradle directory build_script: - - gradlew.bat --no-daemon assemble checkstyleMain checkstyleTest + - gradlew.bat --no-daemon fixWhitespace assemble checkstyleMain checkstyleTest test_script: - appveyor-retry gradlew.bat --no-daemon headless allTests diff --git a/build.gradle b/build.gradle index 50cd2ae52efc..42878fd89218 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,30 @@ repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } +task makeTempFiles(type: Copy) { + from 'docs' + into 'temp' + include '**/*.adoc' + include '**/*.css' +} + +task fixWhitespace(type: Copy) { + from 'temp' + into 'docs' + include '**/*.adoc' + include '**/*.css' + filter { String line -> + line.replaceAll(/ +$/, '') + } +} + +task deleteTempFiles(type: Delete) { + delete 'temp' +} + +fixWhitespace.dependsOn makeTempFiles +fixWhitespace.finalizedBy deleteTempFiles + checkstyle { toolVersion = '8.1' } diff --git a/config/travis/check-trailing-whitespace.sh b/config/travis/check-trailing-whitespace.sh index 33841caa81f1..b96a91f90596 100755 --- a/config/travis/check-trailing-whitespace.sh +++ b/config/travis/check-trailing-whitespace.sh @@ -9,10 +9,10 @@ awk ' ret = 0 } { - # Only warn for markdown files (*.md) to accomodate text editors + # Only warn for asciidoc files (*.adoc) to accomodate text editors # which do not properly handle trailing whitespace. # (e.g. GitHub web editor) - if ($1 ~ /\.md$/) { + if ($1 ~ /\.adoc$/) { severity = "WARN" } else { severity = "ERROR" diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 1733af113b29..d91935eb86e8 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -10,7 +10,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4/tree/master +:repoURL: https://github.com/CS2103JAN2018-F09-B3/main By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` @@ -34,21 +34,21 @@ Do not disable them. If you have disabled them, go to `File` > `Settings` > `Plu === Setting up the project in your computer -. Fork this repo, and clone the fork to your computer -. Open IntelliJ (if you are not in the welcome screen, click `File` > `Close Project` to close the existing project dialog first) -. Set up the correct JDK version for Gradle -.. Click `Configure` > `Project Defaults` > `Project Structure` -.. Click `New...` and find the directory of the JDK -. Click `Import Project` -. Locate the `build.gradle` file and select it. Click `OK` -. Click `Open as Project` -. Click `OK` to accept the default settings +. Fork this repo, and clone the fork to your computer. +. Open IntelliJ. If you are not in the welcome screen, click `File` > `Close Project` to close the existing project dialog first. +. Set up the correct JDK version for Gradle. +.. Click `Configure` > `Project Defaults` > `Project Structure`. +.. Click `New...` and find the directory of the JDK. +. Click `Import Project`. +. Locate the `build.gradle` file and select it. Click `OK`. +. Click `Open as Project`. +. Click `OK` to accept the default settings. . Open a console and run the command `gradlew processResources` (Mac/Linux: `./gradlew processResources`). It should finish with the `BUILD SUCCESSFUL` message. + This will generate all resources required by the application and tests. === Verifying the setup -. Run the `seedu.address.MainApp` and try a few commands +. Run the `seedu.address.MainApp` and try a few commands. . <> to ensure they all pass. === Configurations to do before writing code @@ -57,22 +57,22 @@ This will generate all resources required by the application and tests. This project follows https://github.com/oss-generic/process/blob/master/docs/CodingStandards.adoc[oss-generic coding standards]. IntelliJ's default style is mostly compliant with ours but it uses a different import order from ours. To rectify, -. Go to `File` > `Settings...` (Windows/Linux), or `IntelliJ IDEA` > `Preferences...` (macOS) -. Select `Editor` > `Code Style` > `Java` -. Click on the `Imports` tab to set the order +. Go to `File` > `Settings...` (Windows/Linux), or `IntelliJ IDEA` > `Preferences...` (macOS). +. Select `Editor` > `Code Style` > `Java`. +. Click on the `Imports` tab to set the following options: -* For `Class count to use import with '\*'` and `Names count to use static import with '*'`: Set to `999` to prevent IntelliJ from contracting the import statements -* For `Import Layout`: The order is `import static all other imports`, `import java.\*`, `import javax.*`, `import org.\*`, `import com.*`, `import all other imports`. Add a `` between each `import` +* Set `Class count to use import with '\*'` and `Names count to use static import with '*'` to `999` to prevent IntelliJ from contracting the import statements. +* Set the order for `Import Layout`: `import static all other imports`, `import java.\*`, `import javax.*`, `import org.\*`, `import com.*`, `import all other imports`. Add a `` between each `import`. Optionally, you can follow the <> document to configure Intellij to check style-compliance as you write code. ==== Updating documentation to match your fork -After forking the repo, links in the documentation will still point to the `se-edu/addressbook-level4` repo. If you plan to develop this as a separate product (i.e. instead of contributing to the `se-edu/addressbook-level4`) , you should replace the URL in the variable `repoURL` in `DeveloperGuide.adoc` and `UserGuide.adoc` with the URL of your fork. +After forking the repo, links in the documentation will still point to the `CS2103JAN2018-F09-B3/main` repo. If you plan to develop this as a separate product (i.e. instead of contributing to `CS2103JAN2018-F09-B3/main`), you should replace the URL in the variable `repoURL` in `DeveloperGuide.adoc` and `UserGuide.adoc` with the URL of your fork. ==== Setting up CI -Set up Travis to perform Continuous Integration (CI) for your fork. See <> to learn how to set it up. +See <> to learn how to set up Travis to perform Continuous Integration (CI) for your fork. After setting up Travis, you can optionally set up coverage reporting for your team fork (see <>). @@ -410,7 +410,7 @@ Here are the steps to convert the project documentation files to PDF format. . Follow the instructions in <> to convert the AsciiDoc files in the `docs/` directory to HTML format. . Go to your generated HTML files in the `build/docs` folder, right click on them and select `Open with` -> `Google Chrome`. . Within Chrome, click on the `Print` option in Chrome's menu. -. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot below. +. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot (Fig. 11) below. .Saving documentation as PDF files in Chrome image::chrome_save_as_pdf.png[width="300"] @@ -422,40 +422,58 @@ image::chrome_save_as_pdf.png[width="300"] There are three ways to run tests. -[TIP] -The most reliable way to run tests is the 3rd one. The first two methods might fail some GUI tests due to platform/resolution-specific idiosyncrasies. - *Method 1: Using IntelliJ JUnit test runner* * To run all tests, right-click on the `src/test/java` folder and choose `Run 'All Tests'` -* To run a subset of tests, you can right-click on a test package, test class, or a test and choose `Run 'ABC'` +* To run a subset of tests, right-click on a test package, test class, or a test, e.g. `ABC`, and choose `Run 'ABC'` *Method 2: Using Gradle* -* Open a console and run the command `gradlew clean allTests` (Mac/Linux: `./gradlew clean allTests`) +Open a console and run the following command: + +Windows +``` +> gradlew clean allTests +``` +Mac/Linux +``` +$ ./gradlew clean allTests +``` [NOTE] See <> for more info on how to run tests using Gradle. *Method 3: Using Gradle (headless)* -Thanks to the https://github.com/TestFX/TestFX[TestFX] library we use, our GUI tests can be run in the _headless_ mode. In the headless mode, GUI tests do not show up on the screen. That means the developer can do other things on the Computer while the tests are running. +Thanks to the https://github.com/TestFX/TestFX[TestFX] library we use, our GUI tests can be run in _headless_ mode. In headless mode, GUI tests do not show up on the screen. That means the developer can do other things on their computer while the tests are running. + +To run tests in headless mode, open a console and run the following command: -To run tests in headless mode, open a console and run the command `gradlew clean headless allTests` (Mac/Linux: `./gradlew clean headless allTests`) +Windows +``` +> gradlew clean headless allTests +``` +Mac/Linux +``` +$ ./gradlew clean headless allTests +``` + +[TIP] +The most reliable way to run tests is the 3rd one. The first two methods might fail some GUI tests due to platform/resolution-specific idiosyncrasies. === Types of tests We have two types of tests: -. *GUI Tests* - These are tests involving the GUI. They include, -.. _System Tests_ that test the entire App by simulating user actions on the GUI. These are in the `systemtests` package. -.. _Unit tests_ that test the individual components. These are in `seedu.address.ui` package. -. *Non-GUI Tests* - These are tests not involving the GUI. They include, -.. _Unit tests_ targeting the lowest level methods/classes. + +* *GUI Tests* - These are tests involving the GUI. They include: +** _System Tests_ that test the entire App by simulating user actions on the GUI. These are in the `systemtests` package. +** _Unit tests_ that test the individual components. These are in the `seedu.address.ui` package. +* *Non-GUI Tests* - These are tests not involving the GUI. They include: +** _Unit tests_ targeting the lowest level methods/classes. + e.g. `seedu.address.commons.StringUtilTest` -.. _Integration tests_ that are checking the integration of multiple code units (those code units are assumed to be working). + +** _Integration tests_ that check the integration of multiple code units (those code units are assumed to be working). + e.g. `seedu.address.storage.StorageManagerTest` -.. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together. + +** Hybrids of unit and integration tests. These tests check multiple code units as well as the connections between them. + e.g. `seedu.address.logic.LogicManagerTest` @@ -488,14 +506,15 @@ Here are the steps to create a new release. . Update the version number in link:{repoURL}/src/main/java/seedu/address/MainApp.java[`MainApp.java`]. . Generate a JAR file <>. -. Tag the repo with the version number. e.g. `v0.1` +. Tag the repo with the version number, e.g. `v0.1`. . https://help.github.com/articles/creating-releases/[Create a new release using GitHub] and upload the JAR file you created. === Managing Dependencies -A project often depends on third-party libraries. For example, Address Book depends on the http://wiki.fasterxml.com/JacksonHome[Jackson library] for XML parsing. Managing these _dependencies_ can be automated using Gradle. For example, Gradle can download the dependencies automatically, which is better than these alternatives. + -a. Include those libraries in the repo (this bloats the repo size) + -b. Require developers to download those libraries manually (this creates extra work for developers) +A project often depends on third-party libraries. For example, Address Book depends on the http://wiki.fasterxml.com/JacksonHome[Jackson library] for XML parsing. Gradle can manage these _dependencies_ for you by downloading the dependencies automatically, instead of having to: + + +* Include those libraries in the repo (this bloats the repo size), or + +* Require developers to download those libraries manually (this creates extra work for developers) [[GetStartedProgramming]] [appendix] @@ -782,65 +801,98 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *Target user profile*: -* has a need to manage a significant number of contacts +* has a need to manage a significant number of cryptocurrencies * prefer desktop apps over other types * can type fast * prefers typing over mouse input * is reasonably comfortable using CLI apps +* requires various analysis and visualisation tools for decision-making -*Value proposition*: manage contacts faster than a typical mouse/GUI driven app +*Value proposition*: manage cryptocurrencies faster than a typical mouse/GUI driven app [appendix] == User Stories Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (unlikely to have) - `*` -[width="59%",cols="22%,<23%,<25%,<30%",options="header",] +[width="80%",cols="20%,<23%,<25%,<30%",options="header",] |======================================================================= |Priority |As a ... |I want to ... |So that I can... -|`* * *` |new user |see usage instructions |refer to instructions when I forget how to use the App - -|`* * *` |user |add a new person | +|`* * *` |new user |see usage instructions |figure out how to use the application. +|`* * *` |user |see my personal portfolio |track gains/losses. +|`* * *` |user |add new coin accounts | +|`* * *` |user |delete coin accounts | remove unwanted information. +|`* * *` |user |have a tagging system |simplify and categorize my accounts. +|`* * *` |user actively trading |be able to store up to 2000 cryptocurrencies |maintain my extensive portfolio. +|`* * *` |user |have a search and find feature |avoid going through all coins manually. +|`* * *` |user who values privacy |use a program without making accounts |keep it simple. +|`* * *` |user who values privacy |store my data only on local storage |avoid having my data on potentially insecure servers. +|`* * *` |user |avoid lots of manual entry |save time. +|`* *` |user |not to have to exit the current search results before entering a new command |operate on my search results efficiently. +|`* *` |user |have a sorting feature for names, coin prices, account values, etc. |quickly rank my choices. +|`* *` |user |have a bookmarks or favourites watchlist |prioritise certain coins. +|`* *` |user |have different color themes | customise my program. +|`* *` |user |have multilingual support |understand the program better. +|`* *` |user |be able to import/export my data |transfer it to other computers. +|`* *` |user |have a fixed interval backups, that can also be manually set |ensure my data will not be lost. +|`* *` |user |macro and write custom aliasing for commands |customize my experience. +|`* *` |user |track price, market cap, and circulating supply from coinmarket |get all my information in one place. +|`* *` |user |see <>/<> graphs |analyse price trends for decision-making. +|`* *` |user |see Overbought/Oversold lines | do as above. +|`*` |user |be able to set support and resistance lines | do as above. +|`*` |user |have candlestick graphs with simple/exponential moving average overlay | do as above. +|`*` |user |be able to search information on a specific coin |get all my information in one place. +|`*` |user |have desktop notifications |be informed when something needs my attention. +|`*` |user |have a daily/hourly report |keep track of the current state of my accounts. +|======================================================================= -|`* * *` |user |delete a person |remove entries that I no longer need +[appendix] +== Use Cases -|`* * *` |user |find a person by name |locate details of persons without having to go through the entire list +(For all use cases below, the *System* is the `CoinBook` and the *Actor* is the `user`, unless specified otherwise) -|`* *` |user |hide <> by default |minimize chance of someone else seeing them by accident +[discrete] +=== Use case: Delete coin listings -|`*` |user with many persons in the address book |sort persons by name |locate a person easily -|======================================================================= +*MSS* -_{More to be added}_ +1. User requests to delete a coin listing +2. CoinBook deletes the specified coin ++ +Use case ends. -[appendix] -== Use Cases +*Extensions* -(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `user`, unless specified otherwise) +[none] +* 2a. The specified coin does not exist in the storage. ++ +[none] +** 2a1. CoinBook shows an error message. ++ +Use case resumes at step 1. -[discrete] -=== Use case: Delete person +=== Use case: Export storage data *MSS* -1. User requests to list persons -2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list -4. AddressBook deletes the person +1. User requests to export storage data +2. CoinBook requests for the file destination +3. User specifies the file destination +4. CoinBook exports the file + Use case ends. *Extensions* [none] -* 2a. The list is empty. +* 2a. The storage is empty. + Use case ends. -* 3a. The given index is invalid. +* 3a. The given file destination is invalid. + [none] -** 3a1. AddressBook shows an error message. +** 3a1. CoinBook shows an error message. + Use case resumes at step 2. @@ -850,19 +902,58 @@ _{More to be added}_ == Non Functional Requirements . Should work on any <> as long as it has Java `1.8.0_60` or higher installed. -. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. +. Should be able to hold up to 2000 Coin accounts without a noticeable sluggishness in performance for typical usage. . A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. - -_{More to be added}_ +. Should be accurate in the representation of Coin amounts, free of numerical errors. +. All sensitive data should be stored locally. +. Should only make configuration files in the local directory to remain fully portable. +. Should not take more than one minute to generate summary reports. +. Should update news and charts automatically at the user-specified frequency, with tolerance of 1% (e.g. +/-18s for 30min interval) [appendix] == Glossary +[[alias]] Alias:: +Alternate names for commands. + +[[coinmarketcap]] Coinmarketcap:: +A website that hosts Cryptocurrency information, including cap rankings, prices, volumes and circulating supplies. + +[[coin]] Coin:: +See <>. + +[[cryptocurrency]] Cryptocurrency:: +Digital currency. Examples are: Bitcoin, Dogecoin, Etherium. + +[[cryptopanic]] Cryptopanic:: +An online news platform for cryptocurrencies. + +[[exponential-moving-average]] Exponential moving average:: +A moving average window of closing prices over a past period that places more weight on the more recent days considered. Since cryptocurrencies do not have a closing price, this defaults to their price at 23:59:59 at the timezone of the exchange. + +[[MACD]] Moving Average Convergence Divergence (MACD):: +Moving Average Convergence Divergence is an indicator that is the difference between two moving averages. + +[[macros]] Macros:: +A set of commands that can be executed under a single custom command is a macro. For example, if a user wishes to only view coins of a specific tag in a certain sorted order, he can set create a custom macro (e.g. `sortfavourites`) such that upon entering it at a command, the program will internally first call the `search` command on the user set tags, then call the `sort` command. + [[mainstream-os]] Mainstream OS:: Windows, Linux, Unix, OS-X -[[private-contact-detail]] Private contact detail:: -A contact detail that is not meant to be shared with others +[[resistance-lines]] Resistance Lines:: +When the price of a coin has risen to a certain amount, the price may eventually sustain its value at this point for a period of time. This is when it obtains "resistance". + +[[RSI]] Relative Strength Index:: +Relative Strength Index is used as an indicator to compare the current strength of cryptocurrency versus its historical strength. The strength is calculated based on the closing prices over a period of time. + +[[sensitive-data]] Sensitive Data:: +Refers to data that is not meant to be shared with others. + +[[simple-moving-average]] Simple Moving Average:: +A moving average window of closing prices over a past period that places equal weight on all days considered. Since cryptocurrencies do not have a closing price, this defaults to their price at 23:59:59 at the timezone of the exchange. + +[[support-lines]] Support lines:: +When the price of a coin has fallen to a certain amount, the price may eventually sustain its value at this point for a period of time. This is when it obtains "support". [appendix] == Product Survey diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index d054eb661286..b87969fb936c 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -11,7 +11,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4 +:repoURL: https://github.com/CS2103JAN2018-F09-B3/main By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` diff --git a/docs/images/eldon-chung.jpg b/docs/images/eldon-chung.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b0f110bd11360dacba681a4b957e62bb1a0840b GIT binary patch literal 113790 zcmbTddpwhW7&m@z!;oW54V!b>C>g_?w+gcyW^zbKh)pVU2opI(wPra+%VF3Ya!5s} z^rf7V<4B@Z$RSB``s(=X`#jIfigkw*T-P7SXFIPOPqm)o*~xYzezw65)x87q~Oxha07LOy21bF<8K=v zFD?o|+8`he04xuJ$b(@%ZHxl~s4{KWJ!t*woze=-Km*&aUpB7rla!(N|-y$KOnRoSvEeG&jGn z_<8mF+WN-k*1y|7{?iKtK>n9n|3|a`hhFkRy}%+O5E1BqdV#>v!Y@Q#L{uFkwv*rj zJw@N8VUQ#aJCs>+uU$gZkn&BzKYUnnw-)x}-qrt9`=6Tqzf&yv|CeU}N3s8_*90I1 z0SRv&L>{mP7A-#h{(KnsXKRUkeUJ9arHw_Klr7wfXM}h4&h43><3BheAHuwDZHmq8 zr#)+942RX1M|Kg)f0xA5-oKeqWfWjH24eYPpA@ZHRrjRHQTiW=QriN$v12jlyx*laGIaF)m4# z)VdkjEorSIf`Yz-c}tq#Hy1#A<{G4Q**W5`hsa{*%^xXc-^EpT?LEbklC07Q4M&4^ ztU5i1O@VYtwv4fdISUKJ`YNMa3SS}ycwjHCZr2=}{i^32ssaFz9cLT;#DRPAbs zi?{k7DV53=b%?yaq1xGr=(}L18Kt`QdX4K{aY3Q)Y4OG8?c1y6x0OG%NIhRI%ikZR zF>RI9Jx>h2@pERa&WU(XgK|`VrPE+6W zlgx_htj(tRH$U$@YVH?lT50oZc9!%mp5f*#^QEug;`9wubL04>v^^tPK*sL~r?{V& zAqK|Mh_(xV7y&D?b=0+-b^3aLIN9>c>Q_7e<}b8Q=SQOgHcITX*wq6kS0pWl82Z1K zat>UC?!C9@B=&1wwBDKoyAn{fc4g}yFBhFn;U1$Brnm)7C!gi(9gLQ5o^@@miJA&u zTN6mwCTuNv-+6h7eKf+6wn7f?o?-_*>-Ibi`S%~Mlh~+t-mW3hsPTjS5K4=6)C+5p zX>vDhUMlK0)!>JTs@IHdMI;>DU90e1 zGipcIf`kg!b#4dJBR@Rh{8;*I#G{r=52u!)&_zeH++GtMyD?5iquE`|{aD_b?1kTF za?SX!wc;oI#)99yP$hY{SB>RaPvL$H&ow!|dT}XqfH<2FdF6PsNOq>3fyk}bu~&YM z#-_hv>t_C$EI@TL&YWqoOd~EYIp+uaAs?iVj&1*IF=m?@ci?kRAaK@Fm!K7VE3ckU z-NR*zjKF9zte) zBs#YF2KpZz?|!JRN$PXsJZ(7cRjuVrazAD`?2i&qkNE$Xnz?|YI1g*X*Ie% z$dCAEVvmo5gPkC6c}p{8SHPkjF8l%4WPjX9`lQmlZ3(>~G&CM%meUjF(z033yV5&w zV>u}40)4Edy^3TnDy}(^QbnrBvDhpjnjRlke$EMdqS4Y``SP9eBr|$5Cx6bcNwv`G zlyJ_UrssgHf{4UXgj+4~n$C#0)kiP{iGCQck5@-JjQ{mt#t$oB12RjSMT6wl%b`M*F+z}unoL$XhW zacaT+-a~D28-x_>@I9u+B~H;gE^~!+(6zXLzG5?U{I=L>H5v4gD%QE0h?v41Y(@l0 zFI#h7xPyVajryv7e|FLMF=jX6`ryVuf!?vdfLujiYEa0E_r_fM48on4 zKF!YB%X_FxU2zHT9h8UTFWYmK7=mdQ*|fAxT}=s?%Sohmq5Pm+UN`pZC?L)iftMjM zcz_(?n7E4=Z+P^526d8ySAAwl{eYOuLqwKQxgtBZj~SMG7+HnU>KUmP)~B zkj)Flc`PTuG0N=lofCbB*b>#5wskF#6z{McG3gAM2p{9ZOUig|^8n^Wh4O~jYr^Y# zh{Q}|#KQr#N2aQgubnMc%?faJzTZlHvW!2hx$PajeS5~e$qgt<$VG5I)w`zdYkBQ= zLOn@kbfkX1X-5>%1qo_a!4BeirC`Dn)_ z)I<+Kgq7m`{jmfo52x@r!J@~l{WHchtHbRYkm1bWsegYAz=IVxs_rUZD7Y_`hFl|G zeOWGJXO-($b;j6XeS>G*V1zy3qt^IFr?{#%v-X7k3$+BrIuD0bC4?~uY3PwK2v;1$ za-xU!9B4FV*M`0m@1%O(cX~VuHhZmgHX~d*(hE_AIK3ktRH0l^Sy)?A_f2o)JG)S~ z@M&Ra-F5j)AKkvxgn#RTkBfib=rN*99&+^~-EIR;HW&q7z#IeN9^bWwZpU?=d3#3=>1_4N)+Gb~71f%S zWq3fvHb^Zy#l1b^&AnfDy3&;rHaz|2nIrlgcsNACpnS5$r829L705Yes;Cy>b1wPm zMddfKodFi|n{Mj^x+O!sb`k)~?a%>B`<(2Bkoe4F@x$I-k8uqJB7~H&M%Ph58Oa!`12$w}wQzYf#4B;G!U zvR;iVn-@yp8>72jIZaf9zS#{Uv3!eKt%w(14}zMn23PT}?%#=VOvYHuYbGr@o!g@= z;MGGSOvtqKJv%4#trmV&{=^>6NcmoM1-5I^sm<`q>U<7NIp#0Wtm8D=G8p2%BQsVQ zwdmCEn%(ad_QiIG$TsfYk+H+`#S6kVdH?jgti)Gr9B&XemyIWE64?oaZHh9=N$l0H zJ8jTxg5rGZZbJCI`zb=$QdRy8-1g;UhZ|SFLB^JPe@CuNvDlX{zVVf2kx)e&>(mo% zFR(2=ox(p<)+Z+YY@C_MSR9)T@cVUVh$l6}3JPcu*(OO~%ba$t1}`pLr? zRwi5`!h&{lCOzdlU+Hx7ACQOL6yFkcf5)xvqfOeEAy%XRya|&rmV6@PgeI2u==J>t zzEmgN7F81*c&?h^eih~txX19){R1!K+qcP)aTmX}TI$*%I4&zT89ukt%i8Rpu|}M( zgZ?PJTIoa@a`s<|P+J(`?HVf1qEL6CoDR~%c!(Tj$5dh zQ7+7}k0JWn;z0y0c|i^p73Op%8d8g%&eKpe)VEE%ecutcAWmOX^_sBQls# zjEC~>l}qoCvi&Mv`!(916}ef`4#f<iGU@C& zyanR*5j#uhM`DMl)-?O1{+wPW-j^{vmE#H$A3%X~m_RoPAau7vrt%(Aaa=$UF0E%- z#n|L+fMk~lGnx2BTbcOEW{KAvFJD787Pr|jC-Y;yqzpR|_r_;>WxPiwT2*2k5BI%`RkK+(H!Xr2F&chm(+$B7sb2$a z2Ybgmjb?yjFcJF* z0z~GglHmt^<3nC}gJl`ClTJ??E+321{#H3|us&ebNS|5IH+0FF;Zt^Gm21_jg?n&U z+(b^W^>tp|o9Me@F`8+Y?1XXf(1FumZ&Tp+3X0xgJV+|*&&n!lb=6vqYfgmYssJrN z)xOaZ{R-@ze-1jeQcs2N-<33ol(t8(i=*-p>s7`x+%ibCyn>Lv{z*&z_04Q%TjI4(GJZsI;OKJ*$@$rG%1yZ~ws7 z*-nprF-vzq8D^mBTbOjUL-fo+7fSN-z?acUvG`W>g@T=NuhhM-OWDdASs2=jZ`;F? z7^~|Q%i72)sf?+CW9iG=uV_An_wBW(c)H(b#xl5;e*sBR|9ksQ5sbO~qoC0>cV@(U z#d7$cQ!9c*9pf*-!YzKgYpK9Za7Dzw3=<*9y%J${WPe3U(oyPdzS~mIhgT2eCI~C` zr)3Tf$Ii~f&U2>+?n>PxCe`cf+KNu@yb;0=Pxac1l!ezSz{zM0+oR92J+QN2gZQ<6 zN}e*ksIelHua0n2FTFU@%#EL-iCZ#8N;Ly1u6yjWRgn%R4&+;$EOKE31&BFjR$aF3d_JIQGqMFVK*f~He!_^sH0cq#K zI{}n+uC|x25K;ah19pmKEJ`qvMnG1A#AhrQ+vr3m3;_#V!3Hp8acV;#q2qv{z9>yo zzSUbwa3%);b)mWwN^>~)coZ-g0`>Am1M^rwUXU0b3#&jbN(0ye1m!~%7F4v}iUOHa zA{WqY0+j+XI2z8=6wCP##YM2Gz#@LJAL*QcmbIiMB8E5SZn6#g0i*}#{6)%d99Pav zAa{9rc1FQzI^44o`}5Yrbncp)zUOzEzL``cch>b0MTJfv{OdAANg}|xfDDM&X^xOm z5{gQKT2d_}&FOd$OvT(K*%8VI02e0Ed5}aD=|nEfB{BT~mG!`A{tpVJzTpWa>0(t^q&T#0vC zHJdw^CFcKc(d#cwU4B;XOP=Ij_9st-N5tI|JC^r1E9&+b%~NzW5qGV+vc0ZZN~8U3 z96tnJn9iDl-PCw9d!h2|U6b;z9?LtO4@7Qd6e;Cip)ZA|7nzoe%b%RxN zF&h5+OR_ZJb>al2Y#wPzD;G>^OIe!@#3~x5g+^EQKlhVM$nn%W*I90-F}u@7cM-LV z-SEh$huXWV|IA~wYl?dsys-^zn|*1~d*we^m zt5yuwYxJFx@BSI*dW*_hBaQdeY-ZM9yja%ge%D_mb?hD)hbuXtkT1n{#Gfn3zS+6o z51pkc<~yhzINK~rt9M~(;oSmtbDXW~AK^CGhw3cj1W$2NfvwaiAV1_gcdA+)`5hT zTvZ#rkp8nu#x`0hy*|Ly)M9qHuh*po)54N#mG&7av)7x6+NisDn*Y@{wsslm<9UC> zD|(l^*>Q=u<`D#{-?tkv=2K7}R~{~|gJHRs>!Wta;oj-ob>O^VodUBH-H$jv-5}KF zz`e=I&psrv*FQKj4o~E<(TRSNz5q{a)vghMR=_C5%K? zFvNA4=wv_`$_X!A9^3_|j78@3>2nH0+vfwF1T zwoWJj!i$*;Al;;}SxOukkP+R-5M-ei1($_SL_)hMf9b!mOG9K^*@q}-feQzKT6@V* z#ZrdI;7j6M)*1Y(g+HuQ%?vxC@Nga`m!AZ zIMg5nQQy%}3kDgG_9!}~lwnqsYiQh_eSFP$+rSx|?Pu%R@|H3B?RoPo8=cwZo#avG zSk07Ef)A1o;eNQbm8s+aDVZz6IK@&yX=0`D^v;8pG`x`RiNH(r1C-%q2N6Y>!eHY8 zb>ZR|rY~w~EExrq!Q#z^@u0;KzFLL+R5k~2@MlR))dt6NH&^XVosP9m+-4nb&Tvq z=QW@E_7>z_ru~+%$a(8Raj}fP=6;a5N-oMJDal#V(tz45o$QgCWIO4e{%iZ==X+#K zn`$Z=KHq2_1XkTu{^EMIsQ#Ocicq-rNF!EPL9$+}NW8KjO9ndc!CYH( zF_7|O-5@v^>nI}7-bH4|K3$wVt*wpxY{Ftczd_=FQUk3|GKi-Q&w1a-)5vLW0zh79 zaUcs_tN3nxt0Z;8ut+q^fMuW)qxpSE4F|43zgYaW*xPJ$lpqh-Z*Ennsj(uLTty*w zy%=>=D)H9Ad7B;oR5WTe33_-tiQS|dLBvk|a)|+2j>l=!8B@zD{z=8(hVJ0>w`A9Q zvy^&fmU>kClAG^--Z z60{cd4ygP9-WxLQ`q7iGd<<$(H+EVhd^90$BXF7Qz{blxU;&c91xyFc=e z>NV1XOiss5#Kq^_x+_NlPiWYK(*(-nt$|FvyBzelM3Lt^g}pih#?TWp^#V+{Joql z3j+egSP{12j&QEX3gI`6*u(v1hzHFSxY&YWKLvB@n4U?WslWrj zt?IDnjRcLXQD{dJ0Izb2uwUnYk+>s-SHnUdXH(@a2PG}gh@CJXUl?CH;blw2fUt<7 zQEoJh#~4C^P^Kk$Yh_3jFy9Dk@K2PB;(kNZGYN|hB3oF>4AUtm5igAvB4MmbAyrtd zVmd^0>Yoo9!%_QmBzEAra7 zZ&^2L57WaRcr_S6GBB>2n>9Z>#wWWO15Uj&%%`mRy%|ToT&cuWX-H^f$YM`+?8rkd znVyb08D?qjvL`Am>t0Od@#G>ySGdB7?6Ins`niX1JTYynt}?UGX=BZBL^`O+er%f~ z%MXgUe{xUFda%OH+)V9t!oqDZzRzy$folaTl$;J}I#Vz+aj!`wf5nS)pgRvk!9)4- zjGU8Z_GG6^W_`CTt}#_#Ge0}5-Y?D%YFYM1XZjGQtHvew&y;K|JMOQM9ci^)F3^9m z>?ma!tDyDO;{H6eRR^^eZm9#+R!bRlrKBmka`dnVI;T%`W-;6_cRH5GuK#&Tle?L$A~erJt4|M)H3!5F1s#s{zg8ajz|b$ftIil1^uAe+%u?w_E!c?SAOl zuRf1&s8MbKR>{?6f4=NmbPU#h4HJLU*!c6%Ib?{(h@#tV)AEIEl)Jl{d&m8cs9-P6V-Xn?CilaM{{@-TrId`@)GCUumR{hA*&rkDHN zC6X)_kd*b3*zAP&11Rn^hanKA7nW#I^VWk5z`6qL-0)$vWtH(`>ZtN)LZNlV}Id@7K_`MbnRV!o)G1 zuqaqF4??4JFnFvKsuR)#E6(foaZCGi8?JO?QxLIaZyy z=ypzX=Mh4!Zu4K@s+)mWE!Z5>pp0IVuT>rw<1!AX^v8!F7erQE#Yx&hm<{9zCb{gj5%GxRl_ZvHM=XSye-Pe={U!zt@w0=+ zOsZv4l&{g#=f71fL*XwrdFXB@OEk=lKDX1^NRdVF5Jj& zD)DUIV!hTf1>P01^T}`2j`4nKZ)F$0|3u=s6v#-U<&01BM(Hb})DQg4%x5#vN+pW)LIEfop$(&sE9H3&U*mxVXb5V>^`%+P>Ulr~oF_ zv5YwyIKw*TEPiU_Gu7|5;WWG}V!fK<6+2P-1LANrJWvNJ z)_^@~m$rR9upp?U`u^R33dkqk)!00uIfP`39z#D`%wKnLx32>hZJlDcQqdJke%cK2 z?JB!gk-)ip5G)adH`Sti6IFw-mD#FCQ=|rj}j*nmh_}J+bjt#sYNnGawQi2() zQHCG_FKLT5n=6O~=bLKzC+=Z40FKZm*aa@6T*!Jv^E5RQK_tcxNqw~W9~iJJr4!0@ zS+UQc0xS66)UpgJ9u|+re;9H00>p7;Lf8^t1r>%8Z3WxUp$~^$y$2M+%w7Rf=_97R z_k`;^^Zaz}-06 z>SfxAR^%SGF&D7>gl;D_OYzS;5A#ow#3AEr1y{$T));tyZwC_GB?jB5yl=z*S`_l5Dz^1rHi4t;6>bCONN8zkM>gzm%$# zdapp93{{@L-#p+XYqWn&7w@C5kIuU=XZnuVE>{sW>IX*LN zo8WvIU_gAU3hdmlQ~!+4PuDZCc%&?XIjo;yHgjV zFr5x}G4u{_!YM&v!w~l1r0*5~7AW%0i{=lRZR<5X2c#%@gY)ja#%6-Oc?Y!Lg;m-b z`Y4TeEyzHfNwX!kY`28zrkPipcalvzjkvv!9_9`dE zs>s^{4^G&TV{4S((U-p}ipiM&7`u1v;rE#Jnz(m+mUk%{CfhPbyuRwnUO7RNn+=?< zYmey?3zP9Ea6jgCJn_RUXX3sM28N(79v(TArS#)*G7e|t?igA#>AbCA_(rz{h+H{V zAyE7zn?;;~Wrbd_osB-K0k$-BGEqxVI5hEY#)tRa+AL%8G3L2^<~AkTOYQ`7?PBkf zU?V~MY2~h(IOeQhBc_jSk24(%SyUU{wB3UgJr?;k(CZPOx3|02zjkw4-`eb->bLO^ zccw6(?{-R*yF_w)ys-OV>$s$|8nf4t#_GHBH6@8zfA(z&-q|5uSDz-sI&pzuvFfOs zn)K_?5{9J*{6?>yIluq*p;zw1CnBr}TAN0e{KTeE{lRi7O^vv)es}%aHNP0-neblA zCIfw_!mSd!?+<3c4?`2J0wTBXn5BF-f7(HCu)O|o2A5ONiEA!gZjf(&sY?CE;GSkC%%qTDWy_!1MCPFlow%)nZq zSjy^DlDI5Z1=TH#EJL7mUJoB8FogkMx0i`w2@SgvQ7Y>I_nR~%sUL~r0(4sY? z41IG-Qos5j1273-uS1IYA})B41=$&KfC$?6CP#roq~E zj^0gIAoPI{-57hd%uZiKm>D_a`9o>wM1~Bt6SIS3<}x{zQKU}=#k6xHxePK@BqS5h z?*yW_B5Gut10rOwBrwMc${~XTV9|VyYy=r2-ihLdQy0gQps?Ywyjm33Ul^krwHbJD zR$hUC101$z(#uEWlrRKf7~dg`TRaOTz-c|GkQL#;h2XFiNh`Ld{cso{%V0*ny?m^> zQ(Y0xl`0k2Qh6m|?sI~rBJJJmSmz`()MIbUA5ep29)#{Dpb$o<_v4e}et0-W7RBF2 zE9&6t=wB5eQV2HseTjKy{`Q|7@ixoPH4|BOY82VAvOlkG+{L!kxRlDx7Q2k`B#K&p zj)lG2g-9u8h~1Uy|%ZinuoeLbjc z>Agbv#2KAz&ivgd&o6o`1Np~_3eJQ*il85iW3sA9Ll>Ls!#c@IJQGw~!Kk-56Xu6k zc@^Ygz)|(nJt3wUUY+%cKLua91C9;wm5Tqgp7A=o z*?hQUrV%@$NW6>qM&pZFhHQMg_b`=*1KB$I@2lMr2nKDHG>&@c<;>Dup2RM%m+$y@ zJPjC=p3FwEOmJKW?KKiVlGEzeLy-$$?QywV?P&l7 zxL+0RH-AV&TUw$MKc;MyCan;Jz8y7}IZ0b2B`or~JU9TpV=njFj_weA7|j{C&J#(X zX#?_3BANYq!$mn|Ou$8ulu496n1BKXsQa?=uz+d^o{C%(+z?hBG_kkll7-Lj=|tID zWaXl*0gfv=fEu)*sO0k&s30e^p*S)M3+$ws4WWKffiCJa6H`D2tq?5!I~@g6LB~;o znE+@mX)2LM1(^-S{O6Yd4m+j>DH1iSdfT6<;OwPbFID8<4dEZU>b+h9dmJ!!*A9*c z_{}ou7b@XM^z#)m4i*^9GzKiG5RNQtmxG_JnG1_4>jmN-^1IqNWcby$#e8#gn> zqO9S$hvZNzBwHG03E#o%G)uv!4Vl79lTn~%u4_Gp=@9sn4E9s9OxL5^8WKgo85@fv z8(5pQB-YHHn! zwh)j-_MlsEpLH$RW{CC9Gxa?+Z}QG$Pg+p?D1N&svbG9+ArHHhZ+6?7c1F2Y>1K{b z9QWdBoC*7I@p)Cva^wBMyS!*}lSXQnHB z**oEJMWOA-;KOMM1jD^+%CKMEdF;*?I}@3_{od!a+{#3H9~1gR^Sgx!5N4wbjTJLE zf$V?c$9a54Wn57<ZunQo2Loy_!cN(~QPK0+y&X{l6zddJf~ zV%E7q>Az>AcMl{6tFio>HFb))nQf~saL{qr9B7zuc_mqP=)<6eI0CDT3yJNRQ`N5~!pcB_+rZW)Bp)3`2 zR=HEi=ff|o>rm8|jnZfOy!*EY_7_LBlv}31WQRjrBf(a72xbf`N^{X+mwx1uBKIHr z{9oL;$C0D1F9C)-?gkRykK5+~pK0a|Svvd$qYs}v3&YAQVzs{6lz_BYX z`QI4F-ssyN7$_1P>c!zUDodLt3btTR(^>+Ej5T;~Ypf${1>oa4>mgLS$tF=S}S;OEsUOPz1pu+qcYjfyRUr@S<4 zDfgX@{&+R)#YK)%q?ke%6Dr4BB--=9LV}Msh(v?Fpc7jcBRJBu$UF6!=JWF2;79iZ9|sgub>9YN*fd6~l$ZA( z3_0)OAc}l|U$Vn-ccK8Se+E0k7C)W1$C|IU*i)v6ZIA-N5R`}_Dv~PSG?v#0=P%=> z!O8Jx8fFkl1z|X%2OWl)z*z{#SC~k=mGsS#?^Ht!VbJtWkqDv;N-h9NEvw=Qi^Mh} zfn-Z`+z`Y@EQccB4~S(qqIrlRz)YYN)`lIyLj~E52Ng?`t`XzW5kmG?bRS_lXPt*2 zgWT#|g%0e-Im4=gfpVT}Djc#AF;MxfYkO>b*6nEOEN=Puy@HNTwcH$*-z$$N=}v~( zUS|DIiJ5U5bqvoY)!IG&dhw5}eRIvc)qS2Xc}@?f1m3HrN>;vDbd8ni8QFz4-Isz> zyrZ5UjotZnI2OaZE*n!R6CS@<6{nn?(sqY+rDBnM^$k3!K!vtORJwLYPyWHkl9Pch zK&WYSNA@V7rtDnpuo=fa>%Vem8xL<@9di>+J@jcH-ZG@%-UEF<@6@Dzl>X)OIp=2IuQat+k9k^ouBY@g!|AMJ%+IzsqihjpIO5gi{XC9G z0NqDg7ULH2!_~1@redOMcf|Mz(sO+Vd)J)V)4JIZ)MmOu(vvGl*{J#Fz)i>JiL^G{ z?4KM{d+Ki6Te)VzDxz8Wex0B`xzc+r@X=+&?oGbEJWoc(NmplX&$-LY ztahK%?NFVGYk&Y3Jc*B0EbNP3$gn^4M2-g7m2zSVfVCY}5_qTf8G z+pDalo<5fIKm~1T)O>u8#k%`ksmWF4bGC7>?A(Jsa4t_aXJ1HYxT|&_+u6I*_TxH# z&DGK-X#f7&EN9qEYwY}w;eNgLK&oNI-A2ORK59hqh8)0q z-l{>;cl{Pu%q;6&Ooa}p)4Ww3o9F-%VjH_AbFAq38$FoTFrHSnaZBe{sO+)avH`??oOVxwL@gpz8_ zA>$?>hF4RDZwHj#8}+v182V&l;!m6kRpeXeiGkQb$8hH9T}39ze3uWRurE0)*R*K)ltHDg}WXb_&@FS(AZEB%yvf^MNA9bxiy z_3fW!6S27xb6{lmR3WXz6oDA+MP7Ng)rm^q3O+S=JNH@NWo-*)41t}CzP7#XM3sMP zaExiseV~TU9AS+HS;ZSJx%ZumMMXG%_b#Gv{Dwi-Y;pa{W(88m{wquZ zWsPEkT{_z_I3(I3W?lhfw{FVS4EP#hXP|Iv_dsj~ynX#w)wGG)s`L2FzfR~X^*6bF z7uUg@03?3VoppZT*jz@(Z2ZUuKT_AA{%Y{oRbs$&t$0DCEAdpg)rwf*P~X<|EKxfp zShKIJ5zp@;q<(f(7E&fQ9%C`Orki}^n#`Pb~Mto9iHF}q)rF`n?HAj-P%#MRwlqV9>)dlkYb#asqS4VnaH9ni0;?dj43 zDa}zUPBIlG3Wrpr#cnsdIxt&_;Cxwa_7j2B{5}p`#UA!J=_?wTPVh2wjh2dnm2{bn zfI8Ou!M9o?Mky;Q4T;gJ>9GFimbB;_UH~0dOmcjF4|Y2(Mk5g>NcztvmAeD*GFZC9 zThQzfTxMNOMMlP)63n5VB6-pUiF>NJKU||_y3(KH`T?A=C>r~&Z8g*Oo3PE`H?`9w z?5mC5S1Kqj;%Je0`A*zi`g5U?TjO{<8B6M0OCi_)NWgGCEVWSq%5m|R+J^pMADlHc$vwD9KvIF55lD0O-wbM4fu5|_WCk05ZMowu3fSn zLoTcV*favZty*=Ohni}LP0r}Cq{^K=?Zb(LiWu z6mMdxg>N9~tWU-Whl!pXOP^s{v~xuEb^qB=_voJD>!H>}_2DkRX_BT3UByor!%s8h zm&2@9%R+Are2!(9NCK>~;%V%2L;>*jSm(k)e2-N4W`N^&{+|s`Jxl5o3S7lLxuSGf zq~hNJo#9iqe^B6(ri_gc+QUmLO3jE}D})e$JLdGxb2@)a@6vUq;4OLwS?u^oLBU*7 z1#aQ(Sox~`qw8u0#f}D2CZx*?)b0%3Ga5OKyAQQo#U67|fczNw3*2uR7%t|Y`N|ut z6}IDQ|1?CVLLFwqbUir|6@HHmENPy_T^@HzcBObmJ~Joxxe_M!UGQJ0wDsvsPjAr_RpIb5e2wP?mb%@;q=Ns5B|=? zkC-KwDb!Q<3A=)`f8UhBb$@hH^2!{F*LBrkrwLEyL^ghTLb()lck9dv>q2$xmwfMD zvykGCkZ)x_O)QTkxK-Q6k@pzL(kH~EC$In!dUEynO=td>7 zT<^I^lG`MO>TQ?Ou$sk)*9jiwvJrRttly{&i7b4bNn2cW`aLIm;COY_bLrkJQZ<`^ zQ@D$0&kl1t-3_gyf-PQtc2sTcX52&e-fK@!v#gq))}Xg>ZNjqS1Yd3g5uArec$f`J zZAetENu@#LHvC2PFC_;_fa@M+E?6#p8uAx_kwv8+$m5TiD1*;?>%+ol4FZQQ*N`@&n;zHUC7EXz{}c`)h->R2GHK&H)vP{K-l9mDyga z$`FcF^6=6{fkH7NsDb*M3Q_-%dt2KG@z7ZZruJb&p)u*`jSzQ8kq?~v@oJTA{)a$A z_cw~`WeRxzbSuK}MDeDg_0#vMp?(biY*>vLz9AUo6bJ$)a?@PITnDXlmHCj8{*%~z_#)FEeJ<}V z_IzHwwbv7Xrxu)n0(Vd15ku$kig!v3$MS-lF!rg}RnMxd7l%S8xNinY7WWqMp7~R8 z9IH1jp|IOfSaQevGh1cLDMO^$i*cM%ESG;WB;GbS5$oD+i zz+hT@kE5JL2t;9N<^!AD!DXTyf^v2~$>H$RA-fQZuQX$pK+c>DdGaT=Yye)qtjMig z=R#xKT;`=B949cgL$t&db2iPPRM>}_1FWHVYlQO5ZW6vskf=Jxa+zbEQppj8u*kZy zYtUL1zfMCi>i`5f$6kNxXH5zMaZ#{3^(nuye(yM!28sf#3mvuW5WA^jOT#0pB-vDu z`$y%H3JK7X3mo7G8y4{z@@_#V*> zZ1JHHhKRsFx#=o*5jBI40R+f>#N}GzbE){)ilED!po|Q^wWN)j?N2t*U!9#cq_*zW z=uNhrTnVmdYPs`Gr+#X%aH{IE4qb?`tP7jX*MmuNYT&_l%VEf&t4%uYl86Ki&?PXA`tx zx4&4sGA3PrQu1tE*fM6L?Rgq5YiMhOl#!{HvCHkZLT}|1c?uD`bH!&$ZF};z#r^J2 zr?wn*8=JS|kZLjC;Ks++t#UPb_f$)kD8b*Bm=CwWt95st?F%fpBvC=%Bf=CmUcW)6 zABG>7lcO^)U=lAu4uQ5+{z=!ftHq+UhRCjREh-J?V5yjO;R|h|LXa-r4d?0Ny~Olv z%>>EjoOACPlB;-0)XG>kEVL86$0Dk1DjO!s6IIjWs&_>amk z#|Cl2%qSzEXqU%=Y-}M_?#qy)NhOzqH^&ASHB6xs8oJCa7b6_{RdPCT1%mljLkpJ? zK43n@MwbdnUL;X;AGIGi0J}BFFdG81$d2m&gQc$yXzKgl9~~kMf^;)LBqaxk(jB9b z7Dh=ULv(FiwUnBbd#^_FOCE)(fGKFOj4&JNW6pGqb za%VBAV=)nrJnf#A&&{zl8cW!dObmY$<3jYH3rU_8z4cGwq9VycgatX8Z_4kPzs;Mr zWgB9>O^O{hp|%%e<47MB&Oi((S>mF6#~*YPbVBS3pqZbmc_sZ1AU@QiKbHNl?@N1X zkXk~LcsTC&UizGTuTyN?$VxqF&s8Yi8HbRNI&t4qyct)tcA%3_i(Se__IcGy^H7to z0?b_uQgp}o7GLbK4CNQTblI5Jpmi;V__1E-c{x>>55m?G_S45b*vFJ)cMpg!blM#T zk&1eNO=bDW`jKtSz*yhc_+CACNXSx2f%06regU4dQ$sb+#H{AItfO8m<&WKYsjAfN z)GwuzscR~|1P<+C?oyu<8FF1+R9_on^V|zX*|u0FnB~LUW&Z*8ClxYGd74LazaX>G zej6+g^So0xnAfPC<4)CcE&Cka_bG|0PYd+rw^c|EDg!}l`-YKpLZy~HG7 z?$%IS3)N+YW{K1JquH}rwr!RH&dkBC!kNixUs|EGk3Ll3^KxGUg1%Z=GeAy3%ZVGtAE_&Ni@%SCzW2 zWla}TGbQDg@F~Ig#m+?#z7u!V}j&|HPje^Sy<~fg0F*7S~m_-UxQZYmlVJjN> zyOL|qufPo*ukWtb0((L4A(3#heyh^7NijlNW%4>^W?a6Zg_49jHB%nP77(W#)1#m8 zdz+GPD6Yqh;-PbBh2k;f(XDT9W!hIn35s) zRiQyZ7K+116{MmC*8+;drxNn!A~WqpL(qqMUKEX>APB}F$ z)tXNvkSQ6dl}r2@l~3|A0@7Nfc%ni%rp5-$zd#>rsz9_h;1DSSO%hk`gj{i4erFu& zB%jPC)_-XBNuact(ZC4osNJXR?hw!5mICS(OF5^9RT-z71QiTU$N`Wd`c^w5tycfb zC;*q0u1T|~c#G@4rltSP+Wzl$`8lpH~< z_*}Bz`2f16hlh#2C131Fjmth1?nrPosc8Y7Y=Oef@!W195+yBYA`M^tHMUa?6RpHO zU@#um5bt}3U~%%XR^q-2)hP3*So5377RvQcur;^w4zZeXt9w*NDwLz5Kd>{QFcL*$ z@9lKj^ZbXgH3S&0SI@N9bQ0C~J_Wa+T#d35d&Q}O?+tQSbR6h(%i5gDRfg%9TP)-& zUYu10ZHKt3b`7{}H^%XwOCU`fG|bEFc#ZyM5WPOO=~*fo7X}6y?PkKTgP<05zmVf) zc;&{y9&?D(Sm<1Bgt~E-OIlCd=N+H*0=m-s$?=Aeve$J&Erd_R+-2;fKNSozkr1FQ z1tSbZgk@RGWqT!-9GD3dWdP^BB0s9s2j(eCL{tv7Q)#te^a$C0_fLCPR_>Onr?dz^ z)UR)q=@f3{&I$6AM2tc4n*F5v@F|!DT5M4t-RPH_e(S6*YZO0`Tft8H@P1`W%6(-v#boJ@IHN^-@8pU zeRyx|DTDt3biuut!4&UG_|eEDzMW@e_D*%99>YFoPh1PfXVNiu=einaZk-rIC|ftj zP}y(^3a%^3Xtd0%Tu{6+xFyBiVZ7|LMDL3z&I%3U0P@_d1ZBdzHS;`V2VL06k)!4< zb*aoB#cE{7nB8VX+8A6iBI(G*crZ3~U&1;EBs7dx%kL$#PaD^i;Q4^tF1c&fHvPm-d6)>|O-vp%KmANWw=9*VOIzF4R=MaWK7dQs)goTOtJPQXinx1XrxSv9mS8EuqQQbc)9DcC5w z#il;ApCx4Eod8zIVDuDCitRi7QVO(4%)wo2#!bjuJ z3`ojJ{Y>U1HgYRkeNXvYb#KVMQ<`pe?Kwrgx>Du!zwkrScJtLV zwD|)~CShu_<0aJTbn(gG={9^TK^uAvPbCJGGKlgFv_X*kw=#0{vkn8=w6QVpv z`+1lL_})Nw4kblb=*GSVF3a@aDHXj;`57hXyVoY4H(9-zFNz7SavO>mIC8UZaP9b> z-8?%*`|wIlNlwMBO?l&K71U5r1Byt{vH_!Pd*0$%nu?Rn`v$U759K1dpPXvNnr7gl zVH-0hv)I6rOoMNkiOuu*RY@Dte*hD#= z>i-l$Q2eRr+4PH>=X63#{mJVk`C~!ZA>1MFtoZ9Il5^ToAORH`uAW9|>ZANC=}$f) zRw+^{rYBdhbKuob`$q9M|8JAGStLFUX9uh$fHzv}u@S*eCECx{mFcO)Sa#vZ{{Z#* zJ5e{dbW5aiw?_MdNW2m|_lYvk_Klko*NNxATE*QTsM zE)kSwI{*F+PNI3?Nf6%jNu$Q%bb6hN&NZi-{`=uS03D)o;mW)q?g_rZy}w4cS+8zq zZ_2DdktwIs)vvQD@Ncfj4gP2<>gtm@(~#TwVB7dd+O(rWy2{ck(gy~Fdq!0TyvYZ@=>58J6jatO8NI0z1zM^PaUpv03=K0nNL{>FdUy zF*?ngQFa)C3%%AIx0^ED0R3`9a0BD`5MztQeT7=M!nO9I@9=~?9>ygk0&j{l>r_zdBncj+F-8{{VVX zh*0vQu|&^z;p$uE{#DF#qHfi%Nr~YIF8_usYjpuKK(TsX76%(uk>g>`l-Q9 z!0e~Tbo1221)43ppG64EFSBzSN)e6>nyeYMXI`7s*fSAOq{!BqJ$ z2CKmEeSX4}iW})j>?2z_z*d}aNKi%e>Y=YKWiU_)-MW*wpuKszFcY4ULjBsiW!G5q zBU{y=rU~Np;0*~zz1cU!o*UMAnuw#0!!S>1&4hUr{Uqr6pffT`PU34(SJ$(BWP+s93x}LKFN-5nAJptkw$ScrNC}FUAVNr6sS6z+s(ucTh9%DynKI7E1*kGOqR2 zOYVj81ij>?n`TEUxI0Q=OOpG@Dy_46{EEddHP$_ptYI3Dqwanxj}>LrRzEtIZ zrM4lKBVem|veAQ==N9y~pOs>cES*|Hi%pD}$RaKUrz{3($(8v%gg+h(;Tt;nR_)Mh zh*X>xu>-Zp6(kOJIX;+{r9T%hJaDAiFdo))SFsF#lnXU0w_27cWBEkYkxTN!vUt}> zoi5(WeWg9Qp$Swjx^Sj`CT_*!&HF{+F_W^@3f=Of#1Lxgjugtg+;{R@Ufz5JQ7Rg8 zLQHpsm`@8CmfkLo9omt%Ldk9qTjgdjnJP~41fT_qnF>Xq7-!V|p9Ty_p55gSan=jl zMGzh}E)}291mJ=dTUkd`y^}@d~EIlvoz}XUIbqt{?@)YF1+CRe|E`wbuO}*=6qnLDq7D2k z{CvszJLso7xT>D-09(j8dW2DW+DIpW?4h?w*ZALkFlxrz^EkNgIt4bI`<}yURH80I z)D)sy>t}XIsiJb0vW99>*{PD_RqN6JzjHbQE0pxzVyd}&l{ULeOlQ*lpDpE@{HV{|EO;|$l3W5I(1vp zlY>qpIj`3D5R~iy`=9M=Kf+ubEl8dfP8CN5%?1arKyjs>Q#;sKXi~~c~Fg} zN)Z|J5)A~1*~am_uq|90=ti_w6&=(f;KCByoed?VK~rWe2afzjp*vo*GB5htK;qsu z#EFCB?gfkqlViMsV#+xI7lwo%^~Dp7gk|!lnl?{FXPLLNze@T}1Qaa9rvyrEF)`&k zb(FFR7U85d?1H_5`|5&t9d5h&y-RF{6JPFX4VHxecSH^G z)$eD=Y3f+u@>3g9`Gy3(8c?5OTeMD!np1yaJ1)A&cqKZd zE)WZ$h~M)yrsw<(d;)!I+MECFICk??PxLk&o}RC0R5L~5$Tohvp~v?R@Yy{qrY67O zSeM2oLqU9eF2YWZ_ry%`i@c$URKR`mzi&3h^Iwhg&TK0N6}bqLZ!-J#=@EWWIw^x+ zO&v&096e3jq=g!to@3p;V(2~3=smT_9`EA$U)f%T)k4VXq z-PI%wf5Q$@@(h#~(|23&*Co~R?wM@u_cuONO7ZHa$D_2Xm1=!wmF9{e0+ljTKOP*+ zm)s~Td*VNx`GoaE_qlb}%vAJS)Jzm5NRX@-pw{{md*kPB`+34#3fHzZKke>hRIhm{ zLDUVO?(=2w&EM+<276p8^gbsy(MfEwy3M6rSx}yK&`4l0kq-x(PuNd|lVR4GYaluM z3?4WZM$@wXKGI@v(-1G~8}WHM)*edk1S>2*{Pgszd*E7ZHRh>r z@CpaXR0e3q9reH_9@?9`F`@wLHk(;n-8RXzCM(rHt(xjp5808{EGmbQNV9Do#4_a+ zwT?c$C;_%4H`i7*R8~5Csho=CGWm>97oRJoojX-dhFRQh7e5WEqoB+^7uh3!rLug| zB{kR>J?bNX#}c$Lfty$~E}SUBBcsO&UD2E$h_GV>l)hla+xnxVr_D^DIR5LDPnQzh zTr^s#Kfwmt{YgKt2|A*yvd2cYD_%}pHFoHiqdr^uc1!gsQ$pgcQ0uMV7eJm@y4iCc zgB=LXL8V5^Vi3u*1!JN1CvOiOxBOk`n;s>S+GS+r=0CQZD_VS&m(rw!t_E!sh zx)x|(AFE1!>nz=oEn^o*($5K5&w0Pli!`;5>nlO*f>qyhZcM#zQsYnnXzUtTOf-MR za56djiLr*~W|XO>0VuW5jFtV-b_K=qIvfH*VQy?6Q%S&E`rmE96>f77e4ybRV8St1WwA+Y2m!d4Te0gV%7W1<_pOR>>u@|oCs{Xg>3pA+Yfx5lE7&O!b9pe}cpnZ)pN)vg+V!ufs627U! zZ(&n2d$PeAcx6JT7T7ABO$nujEKiR4H-630eYEioIX1W35_B~~yD0yJrn^dl5;`Fq zi?e^q1;yDmA@9bHOvUUz-*=VQ#Ec!uN18S4&bo*Xd~Z+G&hxy?7gZc=VbnK~-DxEA zDN8UH{^_20`apK~P&?`92W%X3pK?2*ZIgb@RXNUMcL~|s>WVOiCEi#NUeAMC3GK_c z+7W%lmMey^w`O}(PWwiJ*wTSBjDo4odZH~J>q`7fOruC#?O(Qd=O4YFG z)eZvndCnOJ(@d30+55Tw09K>D1;@1$6%;;;`8_=qxhoxRaXzF!Y=RGF74_OAD#g?u zF!nf**}#LQ_vf-BNl1<|Q}_tDNFiMz%!kH@mnB~7;Wn`p#xN51Ane($0a?5@F{hft zG|tPgV%**Sg&dk7)IMys0C2V=0?peprg||0Gl^j3^f__Ecg6_kKANYYv4F@k1aJ)c3ul-`L0>eXfa6D+wE+2*O80(*?55T$p z5%|u<`s>rT?CTOc;&@Ct2-$p++nD9EqJtNG&2Ps*Knem7@Hc#$YN2*1Wiixj5%w~n z`%ouE)G;g`L_|EkU^e(3Y8=ATQj`)bu9ts?dXhU^<8Xlz4>d7j7>R@+W?1apXT_#< zU(8fKkQlA@G|>U8!X6IUl0+?*O<_wA>kJN z^YmHbOO;+bXf8W<74zS?Y=hz#p+3RoLluViPR#iNAR)h&qE|{0FwVvBQ5GS`2Cou( zuHXG=uBTYjKj%gCFj$}XRMytcR0$7U{ab8i5Pp4?#5?((FJE4#=f42CuWXms$mwHN zTX&D1U*1nu+&r4DO70HKvFOd|RaF8} z29lr|9sEA+#-=AK9kXwm%GA_pqLSX)FtGi_xJdMLIa7q(aUsI)8@zMfQKP7>7EaJW zbJmWC1^jGbZ**i_m1R;oM>W0mOR<;bK$^%0{AwkS9nL1UA_=8_|4!y!3(Z1sMbMTZ zjbCTvjX<*5qeG4n@sTKt_%y|b(XZLUmk7i*Wc%J-oe>R)8cTcq^3TmZTPUW2z2-)8 z1~9)%o1rt(kMaI4$WWuZmI$!ZX|298(?tKAWKdyEL^lA#EAp$=#2omL578F{%N%f5brBCR?It z4O!ee9k539_cn+9#-3FvJ&UasxREqLvB10zoLEmTQ?52TxSC#$)7NOVxTIWNloFPY z4jnq!iWa=29g<5BieYjj#@Uue`H$ZdNe|qZ2|{&AJcw8 zk`L67cr5P6t&UwAWvl?7Rrzja$5G;&v?mYl z6INVW`nY?&GM|yY?hY#*tHXMc+ZqBn0|r=)JmMs)CvKkk{E8UiyEkiK6XsD-KjV<2 zLgI1W&1xREtmRuW$Qr|CU3(<_Wdaxb3L=AH`!nLZXVS5S(-Y{Ih%q@vGiQW)oQFmI~kVujPBamhWKhYK5*X}d}>Wa@6HhfF5AnygDg$A`Dx<>ZG z^cTepy_Ukd!fLQ8Qxol(Eg;&B8BbgF%dEH!B@q2OpHv%nw#Qei2?=|T=3f;uZisTT zS2at(Xq)Fk$fuYomsGzrKEax3UmFst;pq1rdTX2^y94mx0lLHcpk`)8ZywFU_LnMGR(OT9Kow~- z-fwpOP%s7ZxfIc(5qJIJXA;|I9o+YJMNY}db0y&@wG|$FoFy5fKx>Ky z+2)V-InU;kZnELc+?nh47Cy6hXa%LlT(VpTl2V@9G^frN zy2f2XVu$Y@76PE{+d%TzbZta zWZONvuJ|BYWcAxeQ9c#oP7@IHu0idgjdLFEA6+KWa@sGN#Ogdq1K63!2D>B*yx)2Jx+JUfN zBo@HCk!W#g)P|LK0x*dJoFHa?7Ai2&3~X}jnmASk$p_WGsv2dLe4GqzxhJvV5i0Yw z!?v}}T47*4#9t!!sqEm{s81%itGVS=xqY=k)HU-|rhFM?a!P=GmwT?26g;uVI8Us( zeUC2j_f04^p@38&qU)bt5$z8(HrV8MA zQ{^9{#?Vhrii+}akvimfB8n0;5$4!;cE2hhgs&Wv`oNJ6wgzA&WQGWpYarjiE5XPv zj=;eK1=gvb%^$835Z*i~w-W|K{y4JHj7!sWVch3YOmp_yTcj26rj^-2$TScuLk+68 z?U4_75EM^sqr)K_zs^+Ux1$=Zaq6XHX@uD7=e%6cQps5ywXMj|P5kmBJ9~#`&z)&F zD`GezR*o67covK>XwZm2YX*)vmhy=$7w;Y1)4W*_7rls*T;U?vIICMNC;|b0P8HWD}?b&SmC*# zq2*3Fwhx#Pd}fp`kPF8<@CzvhWo0vbi}ev7MB6)ITwUz1pFtz7#PN8J$QcaKjvWo% zL>v&30=s?fcz?!csXintqojH^`#d#Gxp-+5{Rm33;&j@{=Mr3o>OP$hyBfa){w)eJ zhT<}x+6`B|OGAvh`Z0wyJ@c|*s9)-Ra%1>) zcWJ5UAslc-;QD9&>s-Q-{YX6Xm_CWGzLpLp6mi#BxMit|yq_DlS~^G?_laWdk{)LK z*_%xdq@5TMl%OmRVXYu8`{h=ZWv6?be@~6gcoSCM!+jAL;$9$)}o^+QFYWm$dGp#kKSdjOJ zY7WAL66`l(uD~C*g<@k8G&rv=q_k`x3rA9~X#cJ=dHa|?kzubm2&-uLZPa7HE++Pr zO=DsnVLedFli=qcV=^)Cf&PQ!Oj>=yXYV~CVZLx3I`^jOQBF$R`%m(`1LR3cf$X_O zwH1XnRjQjo(wah8*hyPm0sy2&^Lg$7oVIm*Xx!Px5&VKkyIj0iT+@XRFLD({gDBdP zJJbTK0aZE+G*~Az+1z1r`F-m=vXJib#~Ph0J$^1IK9H zhG^Fq<8Vxvp_slx4HAW8SZhNJ-0O_fapzLj(~T<`ijny)jt$?C&KPx*OhA=crirvY zMhpWm7uExsAd49;a7Z<+S*CreX%?PU#&(5xr-QkLaU#6 zb-K7t+n|^drZ1E)> zRvjO`9Mzckz9y7UYEu!~UmH8AwOsTg6B0^lnK5#n1$s19T%LoSM&DC$FXumua3cuF4{jN10BN&XE*7nv8qk?oND^%>o{sw>x2m+f7hHzJtCYvd*U)v^p%M8lruIVk~RMB z>py_?RINtFt2YRQwl@=7uNwQlLM#tHW_$(;o{t=HNhI4(Qhhy_`t-G-k0K7Yff0pcs>SW6&jS0<(^8;#OfDT9y3#4 zGS(LB$5To%{JVx}r(k@`l8V-P%uI!V-!iMpSFiCaV)ZvytC<`nxL@~*W9!(KqKR=n zp<(N{rH=}zehy_`JE-PxfB!fR-fTmVIhQ(Ri8NCa!Mdb``n+waWLXq_qfjCEp6n5? z!x`rV=BKn_vrtW4L+CTS+>Gt0?I$nwTwmQki}NQw>7*!H?obQhRyT(!r$TdmsL-#5 z%a`ghTw<8LDmz`-&%$ztUXLWSMX2ynyvv>}{$?(BuOtUAEPP!tJJ9Z1HYehQWRd0a zeb}7z1b?DPog?T=#!uyk1MSmn0*_d3bAM3!PFhSsDSJaa(Q52as;zyOAqX=A!AS`1b_OD;$UV?U`pt{~z{q6ZhJ_P+z^Kme3ILuZG)1vO z@FJ(nU>xG-p4dcf#EmBHSQ2E6Vgk1T^b2u9b=bO&p;$E4g zW!5;9i@_Ocf-!pg7zX?SD9`|0P3GmXwNDV(y!|bC^bVvw zA}3u>qsLj3_OLe37NDlK87lUPU8W6)s-3yIq_qS zbhNvvjc{Ow0hmyy=feXzw_$V`QK0Wrv^|I#BZbj{s|xGTs+wh*6$|SLYvRyGd!`qH zcEiVS`1Tnb(J<9OfkP#;65+XYvjm2rQ(a**?P>C9{8}pqJNFvn^g&Hh^8Yo#1y$tJ zir8E@6JnK(!!%($JSztV`zl}*B%F-ZL~|R>vy`dE$-|wg zrUlnElu$JBg(uU$H?rr!Eu>5aP*Q*qV;X}sgk15)6zriIKkyH#mw*KU1TL&s*bZ)~ zTLjW$!pOXPf+bPz%O98+y7w*%b&~Rv%H78>6$*^1nuooPa;NxtZ*S(oLP4|HvjSl> z;H>eM>vHj2_a1G$u~iZh>D>6Ol@yXBDsQ0$N>nW;OqTiBnn!_Qv0HZ;hLvL~zcdF> zup9VhdLB7ux5|>N)_NZerulgP1LU{@Ehg1Bs*|3umOy z>~9d`jvRM`RIBmaoaNx(8QRamig;Hu1+lZm;YXU!9ZOpX^WMI*8ljZ&?X?aRUF69< zn{PH{=3(B2>k<<$$N8Xp>GUOLZ zMdxf4R`*Sp2J675_KK%Br+06WeZ4$=uLaoq8{N7T%6+3vX7v=J5C@jHWOw-M`Bywl zdnNPL+I>Nxrt)FGKXN<#*8Kb{j0)pytv~R^nXbW;YNU1JS5^6taM+7pB;QjdC1-CE zP=EfN#yRQ{!fTCMr%8s2?j1EqsnMM@!DX|L-Zy@oeb($^DfHfaYy}T+%Yf?(($tp0 zk=`B(eV7$jk!A8BKUQDG)d^|$?D&o$#_v$%I;)I8U{^2qHlvd_G1f`yS%!_^-;at^ zR-&X9TPvK;x`DUCj*ki_OXBJq{6HR*C$tYZlj>x=v!S!2>^`4_}^k#aoT4rKzzKgay1XS7;M16|tt>l>WL4cBa%z@y79et$b8cx&=za2TbtS=F}x&k?8sTSQxy(U|Zxh)Z;rHY5I84zSaIS8k*3Uv@;_D8`nUV+D)b#n_76k1sX%S%^?%CCwHO`&9fqR0^g$+&H+_sv3 zW1fPi?DE`p6dkK|SZhm>iz5kuvoCGX_@mU2Rzjpn;W&RY5AySnbM%w zUuLpz`pU)kp}NYFlEa^wpd+8BYe7;6#P#Yt2?>M=%{W~k_}lVmHhu|GsW26o`Q)$u zQ`ShchYYQ?K2&2FE_V&Ej6hza7XCAbXmyZMbfgE-rpQSGU{7A`3Rih_>TjT})Ff#+ zG=OV8T4+;JIV(o##M`$tytXJ+NULR_8k2`4N#mw)03}2Gwz;F`KS0f+B~-; zGbtRvIz`z+FL`K#=qOcNA`=jSPUEc*NvMC@H2JuzxglEdCldg+5u{&}-PO>RpTNV} zWU31SIMDwEXfO(2E&XFP3c|uP4kSGwrR6N2TwH}rTVWlM(gB1;ARy4p`v9mk;Y+x% z>T?u#jylkSbf6fyjY4rFVIOb^q-%!58!jBoWu{}K;DGlSv1$f!oJ0kW;4xa=3>SE@aL;TAv@cLdLdJ6NgwcMjz4_od-m!+&7*f3QZti37Y|T-RnW zF78Y-G!D)H&(&mDXHX`jDDmio(qny|Ol`o25+5H38vd*Mgh9M`9mYhe2p1HTkBroP z>9QwzB#76uX2#h3+VOqq-;ampue?7u@QN`p4DJOVO0w2$0J3MN;}%o4oE_~3oRPr+ z-s$UwxgdCDb!6Ha`%g94QNT4;;D~Lr0^X>yFeGC*cF+>$Bdfkl7;{rD)CI=7R zg({TK7=9@F-KF@eC$Jyw!0$zyay*_$qwwIEeI)db9m%x(FpY=T-yqji1Lqm8cnxOW z^7IneH?|~beJQe{rzj_@0-d1N#WOh#wzET9*VTq>FVQCv`|4&TQNN()DZeS%HMZtN zTFLCmv7fWlTVtt71^Xdamp2uvQ{ON15&H6>MlB<)Mu&WzoQTfLVp@cZ#I5g)*-=GF zohk=zdlT&*arv@9R?4EK1kw*Esz=>a&z4Yl$))QRQZ8=;28fX^8LySaq$p|*hT0Q0 zgXA{B6_2#?Gn~ifOyW9&&Xi_znVY={2u~uXP@02|rhf9(zA9|~FGPOE0qLxpH541X ze!d$oC^w(GAXO2XyH4A}ZJP4Q>CK~UA$6LTz}-LbzUHeZU|qV$83bW-AQe!r!X=%c zfd{V>6q%?XkqfyB{L#>6Nlqd>X)UYNmlXOkN@sbE;+ENi*Xlo|m-hYi`R7y13%n+Vg(v;6ybKG%LaKmwAyxrTsS zHO}T7i$q}{`8$Ixi`1!b{y|Ek7M`ifQM%4{mIO+0hno09-xo>v&YC4Tn1$J_fC%+l z>?oZ$%Ov6{d;YxqVGA({NfYqIj@~mlNg)93yYSPsAqihMsm$dXvv8}Y=H=6;n$#K> zLqOr)=6+AnL35ZO-pNF+uKhi+UeaR#&PYk-rFI)vOQ!lzVu#k|jJ;uL}iP>z{A_1Jo@347)8K zv+`p?T0V$GtQY3F*AD*(4Oh9xw=Rz*WKg^Vz^P(xCp%E{@{z;jm4wCGKC z*(JuZz#2k6a!+7o;4t?*`zMc|#U`c7Ieqy3ICcoqX)||W-};F>O8!~>y};BBroXKO zyOy*ZD>1Mi{?oXmM3t+n(>C4L`MKySsRQ>F+hyC?E53vwS_9R}_ zC@mI0riXR)Wnl7@H%jR{(U@#BiV^26}g44Gu0F95sRfN^cW3&B3OV~wXO#Daxs zjbe24PE%=1aFzcetXx5yDcrFJ)M!^1KjF$aSwo8SOk1$9f!auo9$@^?3J912qHqBX zcLGhKp0F{E=6@ihslmX76JrtLGKKDb3MS+eghcM#jkq+RSvYcNntW#KzYHQR5M>$# zK^fz7;~=N;|Dfu>7)s76E)|yzlxAjclq1F!$2hsu&GG*icO~j_7jviohd@&B1UQ5V zB_RR4uLy_G!yx_8XmfJZ4ui1R3q7Nb9LKoy#CR*(_L|%nh00Z7{0w2lEnbzU$|XfF zvu3~IY=?W;Ru(U!@skIaPf$Hj00ez_@ZO6q$+%tkyOq}c^)e!Z%Xmd2-dH6=q29qv zU6I(a{FD9j^5c7`?6w4TiBPbNS0D01(iRykEKUyfH`H)X)&!V2uC%%CA6kE3G^-I< z^2Q2XPz1r=Mkb$Ce)`mu>ez%5u_d4;e)p{|rOJywM#OiqHWt=%-q}f9`eN*vrR|XtE7JbBQj40)gy0$U}b}+cW=`jHNIz`S1xKM^mTpY$*d50+#K>#KG_OD$Ec-H z`*%i$)M^>jg=4&0%@Wx3ea_2D5Jr=xQpE0%8>wp;>uce+UUQfEvgG#XK__RA?vG5i zyh57GzKFb8ugGsh9vh;kHDLay!1GZLE2V4tTRX0EM6o2qIg`1H6j8tW=NHrI-%BuJrGzvC7Z{y$b;Be;dlpWS6o9LP8;WZY z6WEtsSIIxjqKNquC!}rEmVGr{MPFk~Oywv4u(~m2?JgkNI#mi8T)=+Um%(zxu3PDQ z^C*`d*ZPTo5VKZiiS*ZO46lI5=eof!@rJ0u0i=6p+D-4U9&)w)okXY4QE8PlUR)pDvA4S1AV{HPDP z+vxz_wRN0!RP?b_yTvuI-Y9I@tK&hr*)8#+sQ~4RteOB1r zs;SoyWA2GqtPuA|6Hh4J(rBbxNS_CizA`hu?>Z3QPV^*`&;xTl(1l9&9k(I(%*+q5 z5SJTMscb>ci-d4Or&IZ}y$K-n(J$^M)f^h1)SQDLd>MS*Nq$hrvJYMV02Y57%xKo1 z3lUp4LBd6}Q4V9X=P1!KG0kK^HXXe5VDvIQNm)CWf001*_Ri?fB})AGwe2#SWUp+} zi4@HBmC+&iIfv*kEsh?%O*3@SbIukm57UfSw@FhZrb! z6k5D3ym_YQD*wFwv)gw2xl%?=W?*;`*#Y@v%_P(Z)K}^EfzlX_;{oLT;wG-ljz66J zsXT{FNnY1&;kd}EC4jq(gR?k%`3A^ei z2qNJ{4!#UMLci*2940O+K0XZDN_exZ{y)ErKW0E z<_<8la02ORmP2#(xWkhS_|x8@0g8se_K%0^OdHvTTs<3Q`7La_1(Gw#`T)v^aG2Lh z*|*qJH2{9Nij*P#1QFjOd~zdAAWnF1jB_-?*%-RzKNKXG_)`Sm9BU80?M2x5%^AC zsi~c$CTwil?+UKBfBVD6X#O$Y^{04@df;+Z`-9V>eUF;Es_UHAM9Ir2siC}8hVG`; z!1xv+$!go+rzYp_tFTiIFLM(#~1Y)Ie)YPtjO zKA7VN4p$%DHL`f5DP`Y66deyZ%+vh8N(x*?iH+bo-r2EfJN>X!1~K8Di@p!3 z{8?H4w5SSu5md|;v~zvncC~lF0Z#Luq$vAu5Og!vF0O*wji(a#UmLM|^3yY3`2pH%bAdQ zQ4$TgqWwf%?}^`;AIzBCtH$`)EjP>l7{&DrxIH!4_dVb+`` zUl9d@QRCLUEhYhism$e8|8dN79>_v$!hKhN9cq#g6vbw?j|7z5mr$G-9iSc`D_vP8tO@wh z&r{68iksCMs`&k7=I*->o#agJlpgj!Gezah+2nQxR`rE)*Gf_5pCCO0{~uNF9n@48 z^$Q0=FQH@TRe=CXmrw%;gx)(U9Ri3DiWE_LiJ=z(LocCAuc8!z(2*uxq*qa@AmW$j zeZPBW?jL(jX74k5GMSUT&RXkNp0o)}a6xzOE^zjS%a`~zUYM@E&g?7u+3|rDr7xr86$qwKDZXoZW^x-c zlTX9&m*mJSj!%{=+Ibc7Eoh8QDDw_vIQXZ*-rjNkzz;Pwe?{)6-Twg2Tp!qvl!{xs zd@o81MLhy3k~G1CSLe4Gi{%ti&UZ0gOOSL2_(?@qtti5B zUI7*XWuM*5ocejxX+%_fYhAvUe-Ul;;NHYJmNbHt3dEM9hq*&ofAA<^U$j0CO|TBL#xLF;Lhxjk`8F;!JZd(&M86xlK2`N1&#$#^pF z;X7b=O=r)0znX*1DtHp4aHF2&_sxcmO-q~ouHF(GsO1od_YAv|68Y5#hK0!Z*-8}N z^^gFMwA>vo=Wzd$vJqQL$*Gh+DbcoUNjLKgRZp4u0amaTxN%+ruP4uiFY1f$x-~d* z;P{AMGb5-b{e}6}!+URP&Y&fJY92!7pOa-F?GqyhCJP;p)sR0_7ES@79cFAU4}x)j z`N3s;CN_?WU8Q}5WtN&75$XG+%2-`ib=ob;Qa4{oi?eq)7br( z_mw;L_9A!P3;8*N|CmR2Ja2Il@Zl3aFtwtnCoSB|fqSZ4e*CqwnuW8e;J%)^3Gcud z$1~=(DO^u-Yxwc_rWvP#oj{sKy8JPGVEY4@tkM~k_Y(;r+*lsMlzBr@lO%oMdl1KK zYZ3)2%$c;;qD6EhEt!JdnRH$%Eer}iuS&sjh$nVc6v%%9xqr7oyme2DL7#JO`~%cH z?#j5<)_H3zMkos<`QSdZ@I>M>B<6eLR7b9|xlB)_bGT>21>Rl>D(o)xzHl$b&!4Cc zkIi*5X&i~Y()^iky|MQ7qamX>=XQ;9Tt>PeI*be|Y8B%4_Rx9qkTH6v9sAs9wH>%F zWY!W^0*c}+N@?DU*i4xS*8jj9Rz8#)=&!ifGg#xZVe4lIBn&=!8actc^hG1m@!KlF{|dOGow01-gtviN|O z#!+d|8vLRZByJo3iwLtuQ|5-}MMVGJyPCF)tGl3=J6eAmSPKt~o&a(s$lubF9-~9u zu0I3k;ro{~)(^vN-(Q^KschZ|{SSX-?i$)edefg90t5oq*Bn?*$ zmt|N8OMqN%@7n<3x2%6S3mlS;c4WK95q|<-&^X>7EPW$v@O19&p-lef?6*VsKfq4a z)N2O;gf(`5>hR4)Irf4Qzn(mA{bJ`=)u;LRMVErzs(%2*oaorMPMouhdeQk;Qq$Ol zTQ2Jle(HnQ+XcHi_+>ris*gCuN=fV9iT0fX-DgS@?SDOV{s3N2IKuq^n%C2svs;^- zvn-kh4Y$8;_GP9IKXrXwZBB~)2iU79%cps9O8uZp2dCJi8;M;wo!H2UZ~CL3{nx|k zcgUwKL~P%uv&k>#hyb;VFFzdKvFV0xT+O)jeq~un8fc}7HMlvGX8E~*KU5QP-bUj! zot|@U)77=y{(Uqjv+%vDK#3KvDq}gz@^k3+s`OmzirRs1d53dgnc?(RGlP}Q+714B z^Q-xeM~bnOPefmTAJgfXz`eGLAL&Y0xalqOkp0vZ{#fg0J$}QNBCkIpLbYG1hq{o8 z%;DM5uZlb@+ec9QNzsW)e>Gl0LZGGREC~({$bl&(Z&(?d)H&14!)SxcF|prfpFaAW zm!3ny&$BL}zAkwMi5OFtFJjQzlHXRp`*ILJJ2#HMoXbUCkA`5Xtc7-ai)E??*iich z(cidUPSZqh-u?qfeJnLpY6R^-o`tdSo4Txoa5m4jMwi@Pl_y0za}6Lu^$VX`#`DbkpL3}JljGv; zx$-|ohy|3&D(N5BDY+<$o6nRKT-B5L_ z7xYmJ&o6r0`dwpt(bVtQ$aCa5Y0B8+xS-Dph__Eaep=-$zD8A%p@zQP>rpgNTWx-M z>cQ_DGwcW5OI*15q+RH1*M<iRY*1H+zaIZpg%15(=*Iss>u5+*iXo{zG5pErD&LS%b=dfc)`_ z<-KT$FSozs&{VAN_KjM9o^0~J_2DE}4ai?#Z|_{n7V+;KK&Si}0G|`>kYJ}C@J$~_ z)^2&l3NRTM+DqRwFkHTqelhvZ-A^x&b9L3t^au4@Tf4ujt6i_HKQ`7J@@#r(5Nd0# zD6iP>?S_PW6%XQD?DN{6w;R=%p_lN-BW_Z< z`KNpxBXpBSH*e!+yO>!fI)_TL{q0@fleQgV1IMrDM=4gTFEXq7jE92)ZBi9yF0cJ7 zT}+d2*Nv_8RqOZESZ6Y~d)J3h#NY1N4Zfdh$a-Xz9+8k2(`@oM5HynR0*rvK7-YFU z{QiXHLVqx8-d=NBDmPqF_g*u-)4<4?G|);}fDhQV>+$6Hk<2001N3PRzp+w&h$~s@ zBT)vb3Q|0MBfZun0J@i4F)+$njRYB3?@}&~mx3i8UdHvC{w?(m)J*t%C$R3086Hhvof7N#Cts^Nh%rds8cCGOG6%n#~I>XJ<{Ew8!` zx9<(M@ku74|_uVmxwwXf{rIsyhIM22BBw;Qy$%D$V1r7)7ofE?bt7~(nDRQbz z4Pw4VcaZ&*sg;AkW|0>U>fgTlz8h3n&(EEm6-5-Dr*8E^i@*qHw!zu_I7}U6f$)+o z8_Y20zvwQJ=&$|*F8(`kWyxTopYLJ|s+rz9Fy$Mmvt_@YYcV!UM2I=WM((dho)$P= z2UjyomPB5r)*cu1^qXX4-$Mg57?F^p=ApL}=|wL`nlE>rrgcbGyd_G{=1A~v|iN_<95psVFW1KrukrH?bU^#ZzxtbA3qqi6-NwJ@~ zv1-gEBUxxo)heke_i!;X@hHh4I9dRrow4a(8eW33b2O)-ai5&AOO!@4J#7+O?&i$i z6(mTuUD7q*@?_~%hMZQHO#RS#f!j>{3!%l0#08vmf#_DWgU@ioCexnnNuzob z`e@9L_3>|7sYisbPErH+w1N^ZX73!mfgG~{{F#c$G@Xg)^$hDe)#Y8|lg0n^W!!wa zKF2cfOA-O<9HZ@V+wD7AKN90+Z6rR|k+jLmn+h^9EY&|T7+Ko07Dr4eghi%m1To3& zeihNTbeyWs5K@Y%uVR|{%)G2JMvMh~xmFJ#ZK=kB@j7r%ZWBbL!8L8Z(afK;EO z$I3T6mqp3HHU8WPg+9UB;n#gtzkPK3qYNElno1)323jcit#N}s`irPm)bBYeT;3jQ zNi1_pq{f*%gKGShmj&}(m;}< z@)oH%$0$vG-R|IGQiGDx<@cOj(ingCzrC+nX=0_BhUWD+2VM_9@Zj8O{i4ovz!~^o zdH#Qfk)9l^Gi$mybQcVw1}LG8;K7DKEx@UstaQHg=)g~n_>)U%9~~e4&q?_1uEJSa z4gkS8CG^>t6=2WU3sKYKlOmvFV!`*4@qJ-(Yx^e<2MAt>jJ~NCS`k-92cu)c-(@U> zul75cXyeQBs`#}cJmBiTLcOYKunEN<)6e*3u>^hlk!kI+IwixN#e5jK^u$3cyycK7 zR^LZYIKERDbH5eo`oTqjub|&ozyE$KSC;wMDys%`M>cm;0}z10KWQb9?KnV@w3A%5BVamxvjw9th z%Re(Muzom44?lbGWR{el`E*Gl3;X+*K=ZN`PH8*wY5v!F!WlZT=2x~Ac&?}Sz9!|4 zW|JLZUyAyGJBN~R8#=7Q`4InfDf+l?KkLzwuM0S}HhHWrkw!NkG$OP%Yx#gb!jpu0 zJZL9}w%Yuo%RT;~D;0%5`M1p$8vZ$)lUsAM3`m@Kvhw?A~#?_SUT8a@4Era^~f8_b8kwVN|v3JEDo z3N-E#Ln*q%d%q4uu;c!8ATw zt5p}yaCj~d;*?DK(u8wG&0BLvCu@F7%VbYmwc!LoK#%}{`usK~F$1&bBv(ejq}ixT zOeg`~Z1*zi#6l5Kpr-E;B@A$qGw7JSe5_P&Z2fvN$%M8Y9Eo>1?Ms%QiotCsg9PT% z@ER(TDaYCXMMM~O%h=!*L`Rd?KBZq{$A@KCX!pw5P^{n-1<2XUl<7@mdp}p4pjvx+ ziSV-U`|P^K{ZMK!?WG+-*ar&O<3@2?$)1O7Jru7yLd;Y$jH6yI3_zqrllvm%=hEXD z76*M9lBD&&K7DNsKo7M1j4&8q@tF@c^?(M@<#$dJ7)f^4-}g0Hz^f^?b3Kr~ZKCS* zr1C8xIwQga&zu@G${P$b5-Pga6kp|prxTLUd^fUfG?2lagqEv#G^!iMIb!nPl0t7F zQB&oMxTuCatzGx6ao%as8S$Q>>p8ph@I0EiH*u47^xxcD_HEom(-Hw3dRmp@tA{Ep zZDA@$rt7J2vJCyXo&m+*Rp{>Lsy%k@%$0toZnk*TVN3V}Rz-Zxqgz+Q|qzr+*z?!Tre zNI<(12b=XHD^1af1L5xsZ71$2w5(C3B<+@P zt2?h^(EfuJ1+K4)^r_IPxEJMXd9gRb)lJ@}cgz51+}<7|p65Xu&d7J!8sxz8{s3#Q zPhE6RcspbC4FG@L-rUnFZir_H?N z1wli=u8>;+Aqv)w0p^&%=o)H$n_R-$u#T9?;7RzDP+19-wk&&uR0wFsig)Pf3x=Xg%t z@ocq@^>HDr^IUPW4A%k!MUAz1z;SEuv4!U)VGYh*#IQrkM%Pq#ZO%J()H4^n*fzbo z63p5!qerD1P!{kwWbXG?y`T*-oZFC?olsU`iWque>>TjjLaKL--Hrmr2IoL*l3v9R z9UI*t+K??JeQweZ&h37nbP*I^^O>hzwZmtH={W|x@?Y5EkFKX({yMRd{n1Sy)|wQ*7Z z0JZ#}S=;WuVwWUdT_>RW;P7C_V5E`P(xnZTwh2|%mfpREI|bWsA`@cn2t<6|PR*l? z90r~F1E;r(|g>BJZ3kKka62GPfz48KjH(~kbM6%J9WXXtOt zY#Ot#*ZfUMKSh7J2$0?2O>|hx}fm7#6 zn_|VIaMSO>=Vc&uLA>`Nz|E3jONXbM$GdoDHjUNVrjqM?imF|?SGm)0!83-WEt!7d zv&ViY;;qC{vQ+gWY)V>g`wut5@q+op)%*L|eES}Xd@I~4Lylp@I=-TGlhUSeeT*=2_Mq z!BQZ$MPlm4mOg2#IggGZR~U`K=K_F`*`Qjg=ixY6Xld@ktYxDZA773P=XS!!+*0f8 zyImcw_PO=tYuCO;xn|4^&z}?WdoHZBieAkjkO8&i*Cv|7FW95m(^MVY^0tpwSQr5{ zBcPI7X^hIU&s>cc3P$GJx$J;V9GNigwY&s|Ne&fIcrPEZu`{d9zOK>zB6O9$Wnkc* zc^5uX+TZTo$Cmy*9WS?*;`D~T$wascWKj$}lM*j+YLG}vbU$i5Ze8?g4-OSNa))vM zU6V9p{DAZubXTc&Cl}9<4xZDDuv<$>Bs;I?yOqV!Ph=ef~g){Y+%?;xj#m=}k6z{$oT^MPN?Rr7}cB&LG0_jF* z8Sge5*GGrLZg6P>0CvWI-M|@7jurxV^DJjmQp}uXTEPea*+ z$FU@-vs7Mu5$%oVy1go(Q7b|TF*D*Fo7AO-2)&*U=d#7qih)V8MJVq}1e>A=1&t<+ zN~7eeRvJqLM*a*`8`IJlsj_Gcuq59}i5H!p{n1p+QC_z4IV0koen|--E8+snnI02P zm!m4Qoue)WM*I&UF+L%t4H;YONpECTHMMwxmnU?tI;=x1s=~CV-&C>r4cMXUJ z(f5ly!|)GNu^tC2E+RED=I*3UH+|NJyIA^omA!R*c~1{OUuWZn;dQ2?fS z5=#?p71sO8p;jP@+^C&|2HJnu{4d1?-H)KCxM~7O&@t-Gh;iUpu;)j5xYrkcm}6Su zpxT~^a(Eg7f_hEyY8v;X|Aj)2Xh!0T^)hDpSdeh%yPnb5zlNI^l^cBrT*D4{UeHWO z%Y7*ZsO;I!fDW2QyPheJYSj&*Ea8(I{>l7oU)Nj3&^XIi67B<{xer~yH$a%mV6NeJ7ZRU( z+Cqh!WZ>|-1lK5oI;`QFq*9CKJN1u2vI{#U_b?*)1!&YEaiRf$%hM#Y-@q$$_o5iT zLI0cRZnd<9nkD`8`pH@kJ|*Q_3)9kga#PK^Nhi%5B{m zm-fEWK&`h0Q9xNPRQpV}bX@6?Z=?YljmZzzXo6wU=6ln*2E&18((E}Qj>&pTcAJ_| z(GFoy)@5aCe`hq1v-yjTbN(72(Y?`{FbJr)Uo3GKm>2RAB$*Qxfid4~+4B8Q8z0{Z z#khiN9EG!nndgfRmVI@BP^SA+C6U+Dsu4aorP&t}bpwBjGE^Yc+K!fkBIHUL;KiDu zjj3>Y?qxC#pSgVc`-hG`=ZeG{36cHKtVUwBFay~FY8IQ}77ef?W@oC=*)?UPUBtk5 zwVK2tok!MKX1glgMWkyc*^OXQR^xnVy%a>W0Ab6^u%(W2O*7`9T9{Be6T4?hJR0VA zq$7g*QHj(*^bFU@5*B7?x7@<_g#e8oFI`AK5n_@$XvzLynM^qbp$Fy#nfw~mZS`BP znutft1D+$lU&d`1Ka}?-mb=x_XcMy$qI(m;#1paAART6i5uUx zlQ2cn)L6}*2Kj28{IH*1t=x_80Ox*2V*Io;NwF2oOXJi8y|0OclpSe7^-2+SAF0Eu9Wu*GfwkU%wrxLymsd)W8dnmz#3#M`yS%+Y1R)VShR@FcBx(3 zcxXp=V!gjmQ8waNnT1W(Z=4-QN4f_;3bm&gkV=P&CWcm;IDR1fkdKvC7-B3~ z$O~(8=F34uCjsb%y_PgHpTHJLzgxGgatgqndjdwj9O4WCq^PL`2YU>~j$@bVRx4eiGHW}i1SP&LOcTsdC*|hO9Pi^E0N{U` zZBWSg2kOw-WC3sm+wW=`nGx^W>1znf3C}jnSg8>(4!-z;H-t#qG00-{dZt5|9LSU{ zjbh0CfcoeKJOQ)De+%UHIo9e-&p>N=GWc}=g#g_E-AoPLK*NR#2Qnt+`-daUzt=#a zLNUubq+Radp6Aw@WF(e$Npl%7B`$2CRk(3?<`$6!J_@;zxnACp0l?FlnFKGe9RbRm zGRt8ao%9c2rZEW!vVFzW^b9vZ%3B=b{W!rSGi=zc{WX=A7W&` zTp)VdePAM5$5FW!3qCR?rtl8_VlQLLyickxctS$Mwz@GgOPqQK`9tLL?BX81yAHA{IG+b<{-EcLieXGGb@Cc2_2rEf|@&i zM$j-3)!X@^DHwp+d3TI(B#ial zYYYUhOqNgpbYjqfDnN{eWjimLB`l4bYyAwX9RU?%u?(=EoD`>7CH27_skAv0u}fUD zk`1RBCCgnK5~hl`TX0VUUyf@3GJf>R!PMEn_N;;|E-iWCqTrDrzC6pCGGtDSlpIqn zf0qcp<*l}7p}_w%hGLpjWDrT?aQ4basGf9hl>@`F*?k(u4S`WIFkc}f0mBF9mM}PH z7oxH=J^Z&x89|&+&#``dK)GXgff`-54Zy6PPlBC2gJZulVkBk85382B6hWZi5MHK> z?_&mfZq(=}wCF`8Lz+^KmP59&Ezj0cg9u|{va2YsbQlJ6_doAoua0eG?vy{DQ~gXr z^s*RQeV}3Z3l7@)Q!Sn+KEe1Kpo5!}?xAjS%u!oDPhdV-X;SZzPu}@~aeBo$8@O*? zLo}bF-L`jZn;+{RBsyEej}BXq?|gk;Rn*`pmZ2JBX1AQ^lT+R(Q#~T{kgU2i38ymH zY=A&Mu|m7qi1?_gG1z?Mvt0{6nO%`1M$N(iTI8RFT5j|`;d?j`#%}i zhD0+2I&Jr3V+6{@N%Xv`t0fPW|6p2>nX~XMe27$!})35 z^_ESo3YrNy;pOwjUL~S1y1MeXiuiK8-zFMuLRLX7g%_s6X9)lG6L?Zm`lY6EWlUoL zv0ql#k?&Kx&wBPOvc&eroZP1&*6sZ78Oif3)-4DT@Mm2?@1ZmI$?pOiX?-zY9oH$- z_}{03$Oq)V(!46Q#5hWqv`B{MIf>3p!|36aB;*QHvfRGL^W_gI^CG*PJQK1+0hZ}u z6lmZ_ALZ`2A#ba7eZ!A8G9

h3!T)7eUjXW1SGfrfL)-aSi29}HZAKdx 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 z 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 Date: Thu, 15 Mar 2018 21:52:43 +0800 Subject: [PATCH 012/120] Update docs images (#32) - Add UI mockup image - Add profile photos --- docs/images/Ui.png | Bin 86102 -> 76886 bytes docs/images/damithc.jpg | Bin 6910 -> 0 bytes docs/images/eldon-chung.jpg | Bin 113790 -> 72210 bytes docs/images/ewaldhew.jpg | Bin 0 -> 39463 bytes docs/images/laichengyu.png | Bin 0 -> 37865 bytes docs/images/lejolly.jpg | Bin 26764 -> 0 bytes docs/images/m133225.jpg | Bin 80341 -> 0 bytes docs/images/neilish3re.jpg | Bin 0 -> 88379 bytes docs/images/yijinl.jpg | Bin 13946 -> 0 bytes docs/images/yl_coder.jpg | Bin 7203 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/damithc.jpg create mode 100644 docs/images/ewaldhew.jpg create mode 100644 docs/images/laichengyu.png delete mode 100644 docs/images/lejolly.jpg delete mode 100644 docs/images/m133225.jpg create mode 100644 docs/images/neilish3re.jpg delete mode 100644 docs/images/yijinl.jpg delete mode 100644 docs/images/yl_coder.jpg diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 5ec9c527b49c5c32c294ad629a8ee895a33ce0c7..b51505c6866c6d5afc9825691e6db44d8445c4e8 100644 GIT binary patch literal 76886 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 literal 86102 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

$k`o&0)Hv2ZNtYb2Mz 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 diff --git a/docs/images/damithc.jpg b/docs/images/damithc.jpg deleted file mode 100644 index 12754388389328dc115e74b5d7e75d21ea3e3979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6910 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 diff --git a/docs/images/eldon-chung.jpg b/docs/images/eldon-chung.jpg index 7b0f110bd11360dacba681a4b957e62bb1a0840b..1d57409379ea94576f664f55f3ec10586324255f 100644 GIT binary patch literal 72210 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 literal 113790 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

h3!T)7eUjXW1SGfrfL)-aSi29}HZAKdx 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 z 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 HxAuPkhheH( literal 0 HcmV?d00001 diff --git a/docs/images/laichengyu.png b/docs/images/laichengyu.png new file mode 100644 index 0000000000000000000000000000000000000000..94cbc1d458ba9dcddcea4e68b9a068b924608f53 GIT binary patch literal 37865 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 EKME?T1ONa4 diff --git a/docs/images/m133225.jpg b/docs/images/m133225.jpg deleted file mode 100644 index fd14fb94593a11bd949304e9b707469e6d36f49d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80341 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 ~h=Jzgswfn#~fDj(k6%m#~toA_C$;FhdB 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

unhEs*m-qvc~~Q}umnAu-1hw{vtvRf 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 diff --git a/docs/images/neilish3re.jpg b/docs/images/neilish3re.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22dda07881c11be6f989554abb44d95fcc551294 GIT binary patch literal 88379 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 MdHp#(jiiF0 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 W@yAUT&3Kr&-m1PFTp|AV^Zx=|&doId diff --git a/docs/images/yl_coder.jpg b/docs/images/yl_coder.jpg deleted file mode 100644 index 17b48a732272464c97607e12bf494bb286cb3484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7203 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 From a259c0b332f5517a45854d1f931d333265f5e31f Mon Sep 17 00:00:00 2001 From: Neil <35659379+neilish3re@users.noreply.github.com> Date: Thu, 15 Mar 2018 21:54:55 +0800 Subject: [PATCH 013/120] [#23] README.adoc: Add product description (#31) --- README.adoc | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/README.adoc b/README.adoc index 68c07915b53c..b95547caae03 100644 --- a/README.adoc +++ b/README.adoc @@ -5,7 +5,6 @@ https://travis-ci.org/CS2103JAN2018-F09-B3/main[image:https://travis-ci.org/CS21 https://ci.appveyor.com/project/ewaldhew/main[image:https://ci.appveyor.com/api/projects/status/anm4ynat6657reac?svg=true[Build Status]] https://coveralls.io/github/CS2103JAN2018-F09-B3/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-F09-B3/main/badge.svg?branch=master[Coverage Status]] - ifdef::env-github[] image::docs/images/Ui.png[width="600"] endif::[] @@ -14,13 +13,29 @@ ifndef::env-github[] image::images/Ui.png[width="600"] endif::[] -* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). -* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language. -* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules. -* What's different from https://github.com/se-edu/addressbook-level3[level 3]: -** A more sophisticated GUI that includes a list panel and an in-built Browser. -** More test cases, including automated GUI testing. -** Support for _Build Automation_ using Gradle and for _Continuous Integration_ using Travis CI. +** This is a desktop Crypto Currency management portfolio called CoinBook + +** Meant for storing and keeping track of one’s cryptocurrency records + +** Has a GUI but most of the user interactions happen using CLI (Command Line Interface) + +** Java application targeted at businessmen or investors who trade heavily and actively in cryptocurrency coins + +** Helps user to keep track of trades for multiple coins; useful for frequent trading + +** Provides decision making stats to equip user with the information necessary to trade + +** User won't have to check patterns and statistics on another platform other than the CoinBook + +** Displays price history of coin --> Allows user to see price changes over time + +** View current price of crypto coin (based on 24 hour average) and the profit/loss the user stands to make if he sold the coin at the current moment + +** Various statistics to aid decision making such as Relative Strength Index(RSI) and Moving average convergence divergence (MACD) charts + +** Newsfeed for user to follow the news and happenings surrounding the coin + +** Allows the user to compare the price history based on newsfeed of any given coin. == Site Map From 83ff03a04c556b4eb54db500ca3d6b9d370293e4 Mon Sep 17 00:00:00 2001 From: Lai Cheng Yu Date: Fri, 16 Mar 2018 07:22:04 +0800 Subject: [PATCH 014/120] [#25] Add fetch utility class to obtain data from external APIs (#39) * Add FetchUtil commons class * Add method to deserialize an array of JSON objects --- .../seedu/address/commons/util/FetchUtil.java | 90 +++++++++++++++++++ .../seedu/address/commons/util/JsonUtil.java | 13 +++ 2 files changed, 103 insertions(+) create mode 100644 src/main/java/seedu/address/commons/util/FetchUtil.java diff --git a/src/main/java/seedu/address/commons/util/FetchUtil.java b/src/main/java/seedu/address/commons/util/FetchUtil.java new file mode 100644 index 000000000000..048c3ecdc466 --- /dev/null +++ b/src/main/java/seedu/address/commons/util/FetchUtil.java @@ -0,0 +1,90 @@ +package seedu.address.commons.util; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.logging.Logger; + +import seedu.address.commons.core.LogsCenter; + +/** + * Retrieves data in JSON/XML format from a specified URL + */ +public class FetchUtil { + + private static final Logger logger = LogsCenter.getLogger(JsonUtil.class); + + /** + * Retrieves data from the specified url + * @param url cannot be null + * @return File converted from the JSON obtained from the url + */ + public static File fetch(String url) { + URL urlObject; + HttpURLConnection urlConnection = null; + File serverResponse; + + try { + urlObject = new URL(url); + urlConnection = (HttpURLConnection) urlObject.openConnection(); + + int responseCode = urlConnection.getResponseCode(); + + if (responseCode == HttpURLConnection.HTTP_OK) { + serverResponse = readStream(urlConnection.getInputStream()); + logger.info("Fetch request from " + url + " is successful"); + return serverResponse; + } + } catch (MalformedURLException e) { + logger.info("URL: " + url + " provided is malformed"); + } catch (IOException e) { + logger.info("Invalid URL: " + url + " provided"); + } finally { + if (urlConnection != null) { + urlConnection.disconnect(); + } + } + + return null; + } + + /** + * Reads the inputStream and outputs to a temporary file location + * @param inputStream cannot be null + * @return File read from inputStream + */ + private static File readStream(InputStream inputStream) { + BufferedReader reader = null; + StringBuffer response = new StringBuffer(); + File serverData = new File("temp.json"); + //Do we want to keep the data of API calls? If yes, overwrite or make new copies? + + try { + reader = new BufferedReader(new InputStreamReader(inputStream)); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } + FileUtil.writeToFile(serverData, response.toString()); + return serverData; + } catch (IOException e) { + logger.info("There was an error reading the server data: " + e); + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + logger.info("There was an error while closing connection with remote server: " + e); + } + } + } + + return null; + } + +} diff --git a/src/main/java/seedu/address/commons/util/JsonUtil.java b/src/main/java/seedu/address/commons/util/JsonUtil.java index 1c629b0d4a16..c330d33fa117 100644 --- a/src/main/java/seedu/address/commons/util/JsonUtil.java +++ b/src/main/java/seedu/address/commons/util/JsonUtil.java @@ -4,6 +4,8 @@ import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.List; import java.util.Optional; import java.util.logging.Level; import java.util.logging.Logger; @@ -24,6 +26,7 @@ /** * Converts a Java object instance to JSON and vice versa + * OR an array of JSON objects to Java object instances */ public class JsonUtil { @@ -38,6 +41,8 @@ public class JsonUtil { .addSerializer(Level.class, new ToStringSerializer()) .addDeserializer(Level.class, new LevelDeserializer(Level.class))); + private static ObjectMapper listOfObjectsMapper = new ObjectMapper(); + static void serializeObjectToJsonFile(File jsonFile, T objectToSerialize) throws IOException { FileUtil.writeToFile(jsonFile, toJsonString(objectToSerialize)); } @@ -47,6 +52,14 @@ static T deserializeObjectFromJsonFile(File jsonFile, Class classOfObject return fromJsonString(FileUtil.readFromFile(jsonFile), classOfObjectToDeserialize); } + @SuppressWarnings( "unchecked" ) + static List deserializeListOfObjectsFromJsonFile(File jsonFile, Class classOfObjectToDeserialize) + throws IOException, ClassNotFoundException { + Class arrayClass = (Class) Class.forName("[L" + classOfObjectToDeserialize.getName() + ";"); + T[] objects = listOfObjectsMapper.readValue(jsonFile, arrayClass); + return Arrays.asList(objects); + } + /** * Returns the Json object from the given file or {@code Optional.empty()} object if the file is not found. * If any values are missing from the file, default values will be used, as long as the file is a valid json file. From 32b2fc3b82661d71451dec2714e8bcfe26192831 Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Fri, 16 Mar 2018 07:25:14 +0800 Subject: [PATCH 015/120] [#28] Add news panel (#34) * NewsCard: Add class and fxml to contain news links * NewsListPanel: Add class and fxml to contain `NewsCards' * MainWindow: Add `BrowserWindow' to open links when NewsCards are clicked on --- .../events/ui/NewsCardClickedEvent.java | 21 ++++++ .../java/seedu/address/ui/BrowserWindow.java | 63 ++++++++++++++++ .../java/seedu/address/ui/MainWindow.java | 11 +++ src/main/java/seedu/address/ui/NewsCard.java | 74 +++++++++++++++++++ .../java/seedu/address/ui/NewsListPanel.java | 63 ++++++++++++++++ src/main/resources/view/BrowserWindow.fxml | 18 +++++ src/main/resources/view/NewsListCard.fxml | 38 ++++++++++ src/main/resources/view/NewsListPanel.fxml | 8 ++ 8 files changed, 296 insertions(+) create mode 100644 src/main/java/seedu/address/commons/events/ui/NewsCardClickedEvent.java create mode 100644 src/main/java/seedu/address/ui/BrowserWindow.java create mode 100644 src/main/java/seedu/address/ui/NewsCard.java create mode 100644 src/main/java/seedu/address/ui/NewsListPanel.java create mode 100644 src/main/resources/view/BrowserWindow.fxml create mode 100644 src/main/resources/view/NewsListCard.fxml create mode 100644 src/main/resources/view/NewsListPanel.fxml diff --git a/src/main/java/seedu/address/commons/events/ui/NewsCardClickedEvent.java b/src/main/java/seedu/address/commons/events/ui/NewsCardClickedEvent.java new file mode 100644 index 000000000000..cede4d4b4f53 --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/NewsCardClickedEvent.java @@ -0,0 +1,21 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a mouse click on a news card + */ +public class NewsCardClickedEvent extends BaseEvent { + + public final String url; + + public NewsCardClickedEvent(String url) { + this.url = url; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } + +} diff --git a/src/main/java/seedu/address/ui/BrowserWindow.java b/src/main/java/seedu/address/ui/BrowserWindow.java new file mode 100644 index 000000000000..006e19eafdf4 --- /dev/null +++ b/src/main/java/seedu/address/ui/BrowserWindow.java @@ -0,0 +1,63 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import javafx.fxml.FXML; +import javafx.scene.web.WebView; +import javafx.stage.Stage; +import seedu.address.commons.core.LogsCenter; + +/** + * Controller for a help page + */ +public class BrowserWindow extends UiPart { + + public static final String USERGUIDE_FILE_PATH = "/docs/UserGuide.html"; + + private static final Logger logger = LogsCenter.getLogger(BrowserWindow.class); + private static final String FXML = "BrowserWindow.fxml"; + + @FXML + private WebView browser; + + /** + * Creates a new BrowserWindow. + * + * @param root Stage to use as the root of the BrowserWindow. + */ + public BrowserWindow(Stage root, String url) { + super(FXML, root); + + browser.getEngine().load(url); + } + + /** + * Creates a new BrowserWindow. + */ + public BrowserWindow(String url) { + this(new Stage(), url); + } + + /** + * Shows the help window. + * @throws IllegalStateException + *

+ */ + public void show() { + logger.fine("Showing help page about the application."); + getRoot().show(); + } +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 23dbd489bd9c..d861cd8c0b6a 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -16,6 +16,7 @@ import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.ui.ExitAppRequestEvent; +import seedu.address.commons.events.ui.NewsCardClickedEvent; import seedu.address.commons.events.ui.ShowHelpRequestEvent; import seedu.address.logic.Logic; import seedu.address.model.UserPrefs; @@ -170,6 +171,16 @@ public void handleHelp() { helpWindow.show(); } + /** + * Opens the browser window. + */ + @Subscribe + private void handleNewsCardClickedEvent(NewsCardClickedEvent event) { + logger.info(LogsCenter.getEventHandlingLogMessage(event)); + BrowserWindow browserWindow = new BrowserWindow(event.url); + browserWindow.show(); + } + void show() { primaryStage.show(); } diff --git a/src/main/java/seedu/address/ui/NewsCard.java b/src/main/java/seedu/address/ui/NewsCard.java new file mode 100644 index 000000000000..c16bdeab22a8 --- /dev/null +++ b/src/main/java/seedu/address/ui/NewsCard.java @@ -0,0 +1,74 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.input.MouseEvent; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.events.ui.NewsCardClickedEvent; + +/** + * An UI component that displays information of a news link from www.cryptopanic.com. + */ +public class NewsCard extends UiPart { + + private static final String FXML = "NewsListCard.fxml"; + + private final Logger logger = LogsCenter.getLogger(this.getClass()); + + /** + * Note: Certain keywords such as "location" and "resources" are reserved keywords in JavaFX. + * As a consequence, UI elements' variable names cannot be set to such keywords + * or an exception will be thrown by JavaFX during runtime. + * + * @see The issue on AddressBook level 4 + */ + + @FXML + private HBox cardNewsPane; + @FXML + private Label headline; + @FXML + private Label pubDate; + private String url; + + public NewsCard(String title, String date, String url) { + super(FXML); + this.headline.setText(title); + this.pubDate.setText(date); + this.url = url; + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof NewsCard)) { + return false; + } + + // state check + NewsCard card = (NewsCard) other; + return this.headline.equals(card.headline) + && this.pubDate.equals(card.pubDate) + && this.url.equals(card.url); + } + + /** + * Handles the mouse click event, {@code mouseEvent}. + */ + @FXML + private void handleMouseClick(MouseEvent mouseEvent) { + if (mouseEvent.getEventType() == MouseEvent.MOUSE_CLICKED) { + logger.fine("User has clicked on " + this.getClass().getName() + " which contains URL '" + this.url + "'"); + raise(new NewsCardClickedEvent(this.url)); + } + } +} diff --git a/src/main/java/seedu/address/ui/NewsListPanel.java b/src/main/java/seedu/address/ui/NewsListPanel.java new file mode 100644 index 000000000000..b4826e50924c --- /dev/null +++ b/src/main/java/seedu/address/ui/NewsListPanel.java @@ -0,0 +1,63 @@ +package seedu.address.ui; + +import java.util.ArrayList; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; + +/** + * Panel containing the list of news links. + */ +public class NewsListPanel extends UiPart { + private static final String FXML = "NewsListPanel.fxml"; + + @FXML + private ListView newsListView; + + public NewsListPanel() { + super(FXML); + ObservableList ol = loadNewsList(); + setConnections(ol); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList ol) { + + newsListView.setItems(ol); + newsListView.setCellFactory(listView -> new NewsListViewCell()); + } + + /** + * Loads a dummy news list with fake article links + * @return an observable NewsCard list + */ + private ObservableList loadNewsList() { + ArrayList al = new ArrayList(); + al.add(new NewsCard("Newegg new accepts Bitcoin BCH through Bitpay!", "15 Mar 2018", + "https://cryptopanic.com/news/1378058/Newegg-new-accepts-Bitcoin-BCH-through-Bitpay-0-Fees")); + al.add(new NewsCard("Test2", "22 Feb 2018", "https://www.google.com")); + return FXCollections.observableArrayList(al); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code PersonCard}. + */ + class NewsListViewCell extends ListCell { + + @Override + protected void updateItem(NewsCard news, boolean empty) { + super.updateItem(news, empty); + + if (empty || news == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(news.getRoot()); + } + } + } +} diff --git a/src/main/resources/view/BrowserWindow.fxml b/src/main/resources/view/BrowserWindow.fxml new file mode 100644 index 000000000000..e46392151d0f --- /dev/null +++ b/src/main/resources/view/BrowserWindow.fxml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/view/NewsListCard.fxml b/src/main/resources/view/NewsListCard.fxml new file mode 100644 index 000000000000..323d6f34a93b --- /dev/null +++ b/src/main/resources/view/NewsListCard.fxml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/view/NewsListPanel.fxml b/src/main/resources/view/NewsListPanel.fxml new file mode 100644 index 000000000000..327390753e6a --- /dev/null +++ b/src/main/resources/view/NewsListPanel.fxml @@ -0,0 +1,8 @@ + + + + + + + + From 674fa0cbad3d9f8e003701c5d035127f791ea20d Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Fri, 16 Mar 2018 07:33:49 +0800 Subject: [PATCH 016/120] [#21] UserGuide: Update user guide to describe the project (#38) --- docs/UserGuide.adoc | 230 +++++++++++++++++++++++++------------------- 1 file changed, 131 insertions(+), 99 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index b87969fb936c..11dd37015d27 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -17,7 +17,9 @@ By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` == Introduction -AddressBook Level 4 (AB4) is for those who *prefer to use a desktop app for managing contacts*. More importantly, AB4 is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB4 can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the <> to get started. Enjoy! +CoinBook is a desktop application that is made for users who prefer to work on a mouse-free, command line platform with minimal graphical user interface (GUI) support. +Our program allows you to store a portfolio of your cryptocurrency purchases as well as track the latest price trends and news, in addition to allowing for many +operations to simplify and expedite your management process such as profit calculation. == Quick Start @@ -28,7 +30,7 @@ Having any Java 8 version is not enough. + This app will not work with earlier versions of Java 8. + . Download the latest `addressbook.jar` link:{repoURL}/releases[here]. -. Copy the file to the folder you want to use as the home folder for your Address Book. +. Copy the file to the folder you want to use as the home folder for your CoinBook. . Double-click the file to start the app. The GUI should appear in a few seconds. + image::Ui.png[width="790"] @@ -37,15 +39,14 @@ image::Ui.png[width="790"] e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. . Some example commands you can try: -* *`list`* : lists all contacts -* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe` to the Address Book. -* **`delete`**`3` : deletes the 3rd contact shown in the current list +* *`list`* : lists all Coins +* **`add`**`n/BTC a/100` : adds a Coin account named `BTC` to the CoinBook with an initial amount of 100 coins. +* **`buy`**`BTC 3` : adds 3 coins into the BTC account. * *`exit`* : exits the app . Alternatively, you can type replace commands by their aliases which are shorter to achieve the same effect. For example: -* *`l`* : lists all contacts -* **`d`**`3` : deletes the 3rd contact shown in the current list +* *`l`* : lists all accounts . Refer to <> for details of each command. Command aliases are specified after the `/` symbol. @@ -55,101 +56,95 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. ==== *Command Format* -* Words in `UPPER_CASE` are the parameters to be supplied by the user e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`. -* Items in square brackets are optional e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`. -* Items with `…`​ after them can be used multiple times including zero times e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/friend`, `t/friend t/family` etc. -* Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. +* Words in `UPPER_CASE` are the parameters to be supplied by the user. e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/ETH`. +* Items in square brackets are optional. e.g `n/NAME [t/TAG]` can be used as `n/BTC t/fav` or as `n/BTC`. +* Items with `…`​ after them can be used multiple times including zero times. e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/cheap`, `t/active t/fav` etc. +* Parameters can be in any order. e.g. if the command specifies `n/NAME a/VALUE`, `a/VALUE n/NAME` is also acceptable. +* Items in curly braces indicate multiple possibilities. e.g. `buy {NAME, TAG} AMOUNT`, is a command where the first parameter can either be a NAME or a TAG. + + [!] Bear in mind that if multiple items are tagged, then the command will be applied to all accounts under the same tag. ==== === Viewing help : `help` / `?` Format: `help` -=== Adding a person: `add` / `a` +=== Adding a Coin account: `add` / `a` -Adds a person to the address book + -Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +Adds a Coin account to the address book + +Format: `add n/NAME a/AMOUNT [t/TAG]...` [TIP] -A person can have any number of tags (including 0) +A Coin account can have any number of tags (including 0) Examples: -* `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` -* `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal` +* `add n/BTC a/50.50` +* `add n/ETH a/1000 t/fav` -=== Listing all persons : `list` / `l` +=== Buying Coin for an account: `buy` / `b` -Shows a list of all persons in the address book. + -Format: `list` - -=== Editing a person : `edit` / `e` +Adds value into a given Coin account. + +Format: `buy {INDEX, NAME, TAG} VALUE` -Edits an existing person in the address book. + -Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` - -**** -* Edits the person at the specified `INDEX`. The index refers to the index number shown in the last person listing. The index *must be a positive integer* 1, 2, 3, ... -* At least one of the optional fields must be provided. -* Existing values will be updated to the input values. -* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative. -* You can remove all the person's tags by typing `t/` without specifying any tags after it. -**** - -Examples: +Example: +* `buy BTC 0.5` -* `edit 1 p/91234567 e/johndoe@example.com` + -Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. -* `edit 2 n/Betsy Crower t/` + -Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. +=== Selling Coin from an account: `sell` / `se` -=== Locating persons by name: `find` / `f` +Removes value from a given Coin account. + +Format: `sell {INDEX, NAME, TAG} VALUE` -Finds persons whose names contain any of the given keywords. + -Format: `find KEYWORD [MORE_KEYWORDS]` +Example: +* `sell BTC 0.5` -**** -* The search is case insensitive. e.g `hans` will match `Hans` -* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` -* Only the name is searched. -* Only full words will be matched e.g. `Han` will not match `Hans` -* Persons matching at least one keyword will be returned (i.e. `OR` search). e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` -**** +=== Listing all Coin accounts : `list` / `l` -Examples: +Shows a list of all Coin accounts in the CoinBook. + +Format: `list` -* `find John` + -Returns `john` and `John Doe` -* `find Betsy Tim John` + -Returns any person having names `Betsy`, `Tim`, or `John` +=== Locating Coin accounts: `find` / `f` -=== Deleting a person : `delete` / `d` +Finds coin accounts whose details satisfy the query. + -Deletes the specified person from the address book. + -Format: `delete INDEX` +Format: `find QUERY [LOGICAL_OPERATORS QUERY]...` + **** -* Deletes the person at the specified `INDEX`. -* The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* 1, 2, 3, ... +* List of logical operators include: + 1. AND + 2. OR + 3. NOT +* List of possible queries include: + 1. name NAME: Name of the Coin account + 2. tag TAGNAME: Tag attribute of the Coin account + 3. price > VALUE : The current price any Coin exceeding + 4. price < VALUE : The current price any Coin less than + 5. profit > VALUE : The total profits derived from selling a Coin exceeding + 6. profit < VALUE : The total profits derived from selling a Coin less than + 7. amount < VALUE : The amount held in a Coin exceeding + 8. amount > VALUE : The amount held in Coin less than **** Examples: -* `list` + -`delete 2` + -Deletes the 2nd person in the address book. -* `find Betsy` + -`delete 1` + -Deletes the 1st person in the results of the `find` command. +* `find BTC` + +Returns the account named BTC. + +* `find tag fav` + +Returns any accounts with the "fav" tag. + +* `find (price > 500 AND tag fav) OR amount < 20` + +Returns any accounts that either currently cost more than 500 dollars and was previously tagged as FAV, +or which the the account has less than 20 Coins left. -=== Selecting a person : `select` / `s` +=== Selecting an account : `select` / `s` -Selects the person identified by the index number used in the last person listing. + +Selects the account identified by the index number used in the most recent listing. + Format: `select INDEX` **** -* Selects the person and loads the Google search page the person at the specified `INDEX`. +* Selects the account and loads the relevant information related to the account at the specified `INDEX`. The information includes: + 1. Amount spent in dollars to purchase the amount of current coin. + 2. Amount earned based on past sales of the current coin. + 3. Amount of possible profit if coin amount was sold at that point. + 4. A chart depicting the price history of that coin account. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* `1, 2, 3, ...` **** @@ -158,10 +153,10 @@ Examples: * `list` + `select 2` + -Selects the 2nd person in the address book. -* `find Betsy` + +Selects the 2nd Coin account in the address book. +* `find BTC` + `select 1` + -Selects the 1st person in the results of the `find` command. +Selects the 1st Coin account in the results of the `find` command. === Listing entered commands : `history` / `h` @@ -186,19 +181,19 @@ Undoable commands: those commands that modify the address book's content (`add`, Examples: -* `delete 1` + +* `buy BTC 10` + `list` + -`undo` (reverses the `delete 1` command) + +`undo` (reverses the `buy BTC 10` command) + * `select 1` + `list` + `undo` + The `undo` command fails as there are no undoable commands executed previously. -* `delete 1` + +* `sell BTC 10` + `clear` + `undo` (reverses the `clear` command) + -`undo` (reverses the `delete 1` command) + +`undo` (reverses the `sell BTC 10` command) + === Redoing the previously undone command : `redo` / `r` @@ -207,27 +202,66 @@ Format: `redo` Examples: -* `delete 1` + -`undo` (reverses the `delete 1` command) + -`redo` (reapplies the `delete 1` command) + +* `buy BTC 10` + +`undo` (reverses the `buy BTC 10` command) + +`redo` (reapplies the `buy BTC 10` command) + -* `delete 1` + +* `list` + `redo` + The `redo` command fails as there are no `undo` commands executed previously. -* `delete 1` + +* `sell BTC 10` + `clear` + `undo` (reverses the `clear` command) + -`undo` (reverses the `delete 1` command) + -`redo` (reapplies the `delete 1` command) + +`undo` (reverses the `sell BTC 10` command) + +`redo` (reapplies the `sell BTC 10` command) + `redo` (reapplies the `clear` command) + // end::undoredo[] === Clearing all entries : `clear` / `c` -Clears all entries from the address book. + +Clears all entries from the CoinBook. + Format: `clear` +=== Tagging an entry : `tag` / `t` + +Adds a tag attribute to an entry in the CoinBook, so that they can be grouped for other commands. + +Format: `tag {INDEX, NAME} TAG_NAME` + +Example: + +* `tag 1 fav` + +`tag 3 fav` + +`tag 5 fav` + +The first, third, and fifth entry in the list is now tagged with the `fav` attribute. + +=== Setting up notifications : `notifyme` / `n` + +Sets a condition that triggers a desktop notification when met. + +Format: `notifyme {INDEX, NAME, TAG} CONDITION [LOGICAL_OPERATOR CONDITION]...` + +**** +* Logical operators indlude: + + 1. AND + 2. OR + 3. NOT +* The list of conditions include: + + 1. When the price exceeds AMOUNT: price > AMOUNT + 2. When the price has drops below AMOUNT: price < AMOUNT + 3. When the profitability exceeds AMOUNT: profit > AMOUNT + 4. When the profitability drops below AMOUNT: profit < AMOUNT +**** + +Example: + +* `notifyme 1 price > 50` + +When the price of the first entry has exceeded 50 dollars, a desktop notification will be triggered. + +=== Updating the information : `update` / `u` + +Obtains the latest prices and refreshes the news feed using the Internet. +Format: `update` + === Exiting the program : `exit` / `q` Exits the program. + @@ -235,7 +269,7 @@ Format: `exit` === Saving the data -Address book data are saved in the hard disk automatically after any command that changes the data. + +CoinBook data are saved in the hard disk automatically after any command that changes the data. + There is no need to save manually. // tag::dataencryption[] @@ -251,19 +285,17 @@ _{explain how the user can enable/disable data encryption}_ == Command Summary -* *Add* `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` + -e.g. `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` -* *Clear* : `clear` -* *Delete* : `delete INDEX` + -e.g. `delete 3` -* *Edit* : `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...` + -e.g. `edit 2 n/James Lee e/jameslee@example.com` -* *Find* : `find KEYWORD [MORE_KEYWORDS]` + -e.g. `find James Jake` -* *List* : `list` -* *Help* : `help` +* *Add* : `add n/NAME a/AMOUNT [t/TAG]...` + +* *Buy* : `buy {INDEX, NAME, TAG} VALUE` + +* *Sell* : `sell {INDEX, NAME, TAG} VALUE` + +* *List* : `list` + +* *Find* : `find QUERY [LOGICAL_OPERATORS QUERY]...` + * *Select* : `select INDEX` + -e.g.`select 2` -* *History* : `history` -* *Undo* : `undo` -* *Redo* : `redo` +* *History* : `history` + +* *Undo* : `undo` + +* *Redo* : `redo` + +* *Clear* : `clear` + +* *Notifyme* : `notifyme {INDEX, NAME, TAG} CONDITION [LOGICAL_OPERATOR CONDITION]...` + +* *Update* : `update` + +* *Exit* : `exit` + + From 9faee50c8ba061ffadce46d34fd95826248bcdf5 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 16 Mar 2018 07:43:05 +0800 Subject: [PATCH 017/120] [#22] AboutUs.adoc: Update with own team (#35) * New fork, New team * Fix image format. * Create portfolio files. --- docs/AboutUs.adoc | 50 ++++++------- docs/DeveloperGuide.adoc | 8 +-- docs/images/eldon-chung.jpg | Bin 72210 -> 0 bytes docs/images/eldon-chung.png | Bin 0 -> 100779 bytes docs/images/ewaldhew.jpg | Bin 39463 -> 0 bytes docs/images/ewaldhew.png | Bin 0 -> 37094 bytes docs/images/neilish3re.jpg | Bin 88379 -> 0 bytes docs/images/neilish3re.png | Bin 0 -> 130413 bytes docs/team/{johndoe.adoc => eldon-chung.adoc} | 0 docs/team/ewaldhew.adoc | 71 +++++++++++++++++++ docs/team/laichengyu.adoc | 71 +++++++++++++++++++ docs/team/neilish3re.adoc | 71 +++++++++++++++++++ 12 files changed, 238 insertions(+), 33 deletions(-) delete mode 100644 docs/images/eldon-chung.jpg create mode 100644 docs/images/eldon-chung.png delete mode 100644 docs/images/ewaldhew.jpg create mode 100644 docs/images/ewaldhew.png delete mode 100644 docs/images/neilish3re.jpg create mode 100644 docs/images/neilish3re.png rename docs/team/{johndoe.adoc => eldon-chung.adoc} (100%) create mode 100644 docs/team/ewaldhew.adoc create mode 100644 docs/team/laichengyu.adoc create mode 100644 docs/team/neilish3re.adoc diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 0f0a8e7ab51e..14c2abce64c3 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -3,53 +3,45 @@ :imagesDir: images :stylesDir: stylesheets -AddressBook - Level 4 was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team. + -_{The dummy content given below serves as a placeholder to be used by future forks of the project.}_ + -{empty} + +CoinBook is developed by the CS2103JAN2018-F09-B3 team. This project is based off + +AddressBook - Level 4, which was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team. + We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore]. == Project Team -=== John Doe -image::damithc.jpg[width="150", align="left"] -{empty}[http://www.comp.nus.edu.sg/~damithch[homepage]] [https://github.com/damithc[github]] [<>] +=== Eldon Chung +image::eldon-chung.png[width="150", align="left"] +{empty}[https://github.com/Eldon-Chung[github]] [<>] -Role: Project Advisor +Role: Developer + +Responsibilities: Documentation, Logic ''' -=== John Roe -image::lejolly.jpg[width="150", align="left"] -{empty}[http://github.com/lejolly[github]] [<>] +=== Ewald Hew +image::ewaldhew.png[width="150", align="left"] +{empty}[http://github.com/ewaldhew[github]] [<>] -Role: Team Lead + +Role: Developer, Scheduling and tracking + Responsibilities: UI ''' -=== Johnny Doe -image::yijinl.jpg[width="150", align="left"] -{empty}[http://github.com/yijinl[github]] [<>] +=== Lai Cheng Yu +image::laichengyu.png[width="150", align="left"] +{empty}[http://github.com/laichengyu[github]] [<>] -Role: Developer + -Responsibilities: Data +Role: Developer, Code quality + +Responsibilities: Integration ''' -=== Johnny Roe -image::m133225.jpg[width="150", align="left"] -{empty}[http://github.com/m133225[github]] [<>] +=== Neil Mehta +image::neilish3re.png[width="150", align="left"] +{empty}[http://github.com/neilish3re[github]] [<>] Role: Developer + -Responsibilities: Dev Ops + Threading - -''' - -=== Benson Meier -image::yl_coder.jpg[width="150", align="left"] -{empty}[http://github.com/yl-coder[github]] [<>] - -Role: Developer + -Responsibilities: UI +Responsibilities: Model ''' diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index d91935eb86e8..9f6be748e958 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -837,13 +837,13 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`* *` |user |have a fixed interval backups, that can also be manually set |ensure my data will not be lost. |`* *` |user |macro and write custom aliasing for commands |customize my experience. |`* *` |user |track price, market cap, and circulating supply from coinmarket |get all my information in one place. -|`* *` |user |see <>/<> graphs |analyse price trends for decision-making. +|`* *` |user |see <>/<> graphs |analyse price trends for decision-making. |`* *` |user |see Overbought/Oversold lines | do as above. |`*` |user |be able to set support and resistance lines | do as above. -|`*` |user |have candlestick graphs with simple/exponential moving average overlay | do as above. +|`*` |user |have candlestick graphs with simple/exponential moving average overlay | do as above. |`*` |user |be able to search information on a specific coin |get all my information in one place. -|`*` |user |have desktop notifications |be informed when something needs my attention. -|`*` |user |have a daily/hourly report |keep track of the current state of my accounts. +|`*` |user |have desktop notifications |be informed when something needs my attention. +|`*` |user |have a daily/hourly report |keep track of the current state of my accounts. |======================================================================= [appendix] diff --git a/docs/images/eldon-chung.jpg b/docs/images/eldon-chung.jpg deleted file mode 100644 index 1d57409379ea94576f664f55f3ec10586324255f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72210 zcmeFZbzD^4_b__skZzGqrMtUBx?31Vnjr=dNkKuRTR}>?r5h9xL_m;kq>+?v<_`Gi z^L*pp_jlj>x&Pejp3m8_*4pc=y>`r*wPqdIIBcHynfxQWhXA0a2Cx7CfDT|G000ua zhJf@Ao+13Kqg(?JZ|c{$bOh9&Z~zewC-|!l?}$MBR~=4;Kn~n=gVX0A-1%KELAd*m zzTDRw01Eh3jlgqLCxX`pLhS%#cnRkSEWry3xLnsC0*ycbV8;7ZN?Sv$z%-h+5Gcgm z7UDu9tHV!YVCQTN@p1=vxVVKxxOhdl`DwU#M7X&`_;~;TIR*gG;5?DJczC!o{~8+% z1^}6ezwbAniS(Iw`@g z>#^OGuyNQHfORt#3t2S)5w;EB+_V7ez-v0#6z~+lLPtl(K*z$sz{0lQW+HXaTR9uW=>4$*anL-ex?{{Msl>>YrQ4rBt4 zkPzqqM0^A!d<57Ge30m{4g^WKlqd){2`=z;LV~XrWE501bPUW}2>*^m01%OWA@KkN zWCSEcWJDA+RCE+1EM7Pg9|@V3fEz_x%aV}J^$8CuQEXO)3_Sy}_IoQ{KDVH+vS^HP zIzQ%jLGJt{Zz_YC<1C_GPM ziLNDhul@B0FN4**TTq;=4l&4`ZG@_GVL@WO8q{?8>~{#yjt zB!Go%L-oEONsxIJBGi(8t z3%7G9^^fpv1En_2d~foTJj@-I`LJ=)LB2gX_<2QnAf!I}3k-;mdRomVk|9itW${R2DhPIbW`Y$rfGEw6`dGltQe5e!L zKX!&RyeOzhFE(j?%WrFG$7FKQro4Z44_Ux%XPtP-_WbU{1r!c%21G$8_tvD98VSaU zyTQ|Dif1+S*Gvksb#zZw1* z6^k1*!SmdKUNY6~Pn@n5`reN?wi!};h3kHQ2lN_i&4(ZAVKsaOj4EOk#isFOS~J zVgHfhF{8aVQ^TR~mbXujprAuIdYVZ~#ewNuujcgkNookFX+nZ(i`1e52CQ|R2A{{V zc|E=^W6FueB5Oq*gJ6Jz6y0syvC}RXz^>|Z+0oc;N{7>Lb3ree{AR7Ps)Cz-%$;0g z1vO~xDqG*F&8UK`?{G1B)EaG^{5}2tqsJ~`qQ+Q((-mtpZA^m;t4@=sKbXY(FFp>a ztVpg3h-ZDQ=5J1F$qT5Q1EsVE^2dN^n=loxJL;D1FInJ7%3U_8-O`+Rl zLU+HgOTtOa##<4zD_?Ftdz3fpb402E1L~_`z)KQEJ;?n|_lmWyoXK}y6Vh?Nm4geOBN!lVQ=0_?3?62zO?q((tiK`|pO>;b7Jkb_v1&UrdbI()B=@D00F^(e zl*>>$OE@*t>-R~Oo$TBmJq}u6=-g^kF1f0F@;yyv+)qE^XisZSLLQ`{D%!w2$OzaAcIIrhF@U-d{q}1 zQ{E~a8*-a*Wzc&Vg{S(7dA~JWG8qPtrN~$)yh+m0u`kUkc@R?Vi9l)ieme)%G}e+g=uuBh{wTJoaXX67qTKcxzj4;) zhq^@upSW#_Pp!&_J=`Y~W#5mijbgu_iz}}Ez>?T%-n#tQGvvcsv0eLiWt{df{g&B9 zTkg8xaZ>n%jrscN1bdZZ97~!sr`M%MZi~aBpF&qzc5JG{wvT@zab)(n{zij{oI=?V(tR2Ms`2v;uS?=l z9T*^Jh++Wc2D*wHKF&>!v@Yi=Dy>cMN2}C^9N}RxQM8hL=At@0@ZA_@dk&3#Pf;i^ z=jsZ?VSPz^6N{eNJ%18RnfciS)R+F>04~T ztEo>vf(C|53iy}z&_y~fuO?=9Hd(eEHbPo*GdBt%b!xU}svYXr(c)sm*8EEjeRj8; z@f&*|mjs-MOL1Hr!HGQMumn#zuNj^i5=+v`!X~nGd493Y9bCx1C^gkhWjLu!e zscI#X*$!0SzkmVzIdMnx<1iqS^L)v*=fj0z8*J!MkCd5F{v!hs?#$c|Ll|JV_k~$z z-H83`2*{{9>I?gL|Cxpf3Gt_Z2)3r8vxayzM6;Mdiv3I{kFCbljng@qyns%+{NBgt z9>RPTIiypdVzjp|*gmBJd&V=pkTdyFqcNi><1W4>BfAj&uhoQ?8iNfRug@}qH&%?| z7L>Zi2SpJeg=ZF<99J-)ScuN4Ea`QqdouxZ&-C0GCRXUkaubMbsNW_gV3Z>**%b+W z^oK-@FJEWW6~v7d(wJK0!Pf(E1$jwY3pwn#I<%zv^_Z6zvk7zh>=qT4^Ewn4fA@j` zm>d3aZG&e5g1Q?AqwB}e?RX=PQjwZdQm2DLSGZ}6sK?N{? zw2>_~>#TcqPl52Yy@zwzOxC&6E85wWE5FFA_SMRw5(2|PHjYUN^FzFodulYW^oPgv1ou~5YTy~29TL_KvD#UUQW4l2QR z?@*#vUJ7XEw0_@FOrA74U}lJoJ-aI2WgG36)HB^2yk2(f5%Gxods4kpEaTQ4>WkDn zjWt{MDO{Ak-Y3Hh&Hn^K>hF=#mWy`Wo`L7#Dc#9Fv~g$kHekk`oCrr-H-TM-Ch%&23wT zz4eIg@5Xq#M*P&~E>?4!W{)`P2&RisI|W_rh75<6Dn#-%y5677MW(75Sfv+nlufcf zz!pT{XiXk8)5wk8^eMXXZwmOfWzxbwAKI>7RBOh(a>p?8L({{f)!O*8CZ$N!J?X1% zo%~X0+0%RN!g^Dwj#CdTZ5g-6CUmzCCg;9ZU9sDNOpIvzk5OZ@OudZGYQ)v2KVJ$8 zx_Tg2J3AJ<5KB3ev05}X2esnl(6%m`Mw?G@ zj-H<*SI;cK0kK-?8oU^ZnoYUL#6ApKAz<}+IYzS4b1UfknI+M|(U3!(VKmyq(CZ76wRn)RWMTWlRb$PY3(v?~b;2;Cyj(Lx&$ba#4JER!09l;H@w4g z!Dn{y3jf=7`R(BSmR`^f41hn3M5uR_eB@q|2zH__2r$^DO7bgZKcwoB-ees=(j0;T z6c^D3XNl#?wt@U-B3`mZN&4e}vS0rIO_x79+oK6;iTvGO~8QKQ4Yw4 zg?eQuZ-M^cixP%QdYQkX(K^31Pa}7l-+h7=z9*8C zUNyum4jaS+>y0`9#DNX@)roMV)Vt4>d3VTXU_h%_Tjmh^|lp$fak%o4a%K|yZgxk%!sYAKy8gKEMm^DpQ21#csO`lS2cu~$qt@@D7 zWc&!flWi#}$);0Sn7;8^RPY$>0@M;-McfKtvm?Fp)Y%&l={-fw=ce7eR7GsZ;Q1!{ zq&oP@~A4!ks@qn#}*)q~?dCR#>WCR*sGo(t{N5g}~bRg59}Di*q%est&DkW^Yb*%ltFIR%=W z8S&1|%D2@g0~UEGjh7!spY-?pIYTr)l;eDn9~B*Q2OS$4nTf)Hk}1Lv9NGq?3+nR` ziX5e_fSzp8vqvA!^_>HBgsM|<#5Dpqow=qU`4$BmY!itORV5YM)>!l}-|`GSs7M6* z@0$jwsJ^R-s-jFyjo8sRNRQvHoJrDaajOHHJ=Edo_9=IFbSQD}c6FIspXlFd>GvO* zTozlhy37d^=Jc1&I5BA0gaHEOYDHq>om_$p--|BXdFNE@56UtpIS;l1$JQ_w^lSA^ zibY*hX1d^N>~+d1Pj@*~~QFkX95g+|9c zyVyiE8qSjLC6EsT_+Y?EhQ{NHX!O?z3?Z%e^LS_g^Yg4=?XoJg#p;sJg<5?a5YJ*v#C$# zisQ8}x{_kLR=B@zxfYfI@aO+6dN-w`RfDwQHtV_q|K6HlpGpV*$uYdqrp@!|W8IlP zANU?NR#to;J+-))-1p)A2TAt}bChZKg`%iwb6nWimVd>iWBXZ)lBcvFcwA8HX*<$u ziKuhxor8NbSHyFNZCc)S#%KGZB5(bCQiG#yL%&7{BqIiV00$@qTtWuQudpAiJhVvm zcx6N)GPT7xI=Ro`-aO*6P0E!P%@ zBum`^8A1Dxj7x)`8l82Q`C1Xs?JLg9C{7f zSJ(3Kq9_hg9P4z!zh2KuEgQh~w=XBZ6E$BQ3N)RTpTK_=ZuQ`2MBOQ8-<&TvpDg%7 z5ccL?)9oNOA~tLkLx^2SlnmHtfVAn9+4%ugoUSmj88@y4_}oEjqjUtpV@>; ze!AKU=vE-hrJtW6>?Vt*`t*2Jhf-0j75>z#>L-G5IrpXNs&U7ypKATJgxzzI3`QpO z2L@IEfE}z9rFOF82AR%vTSt&*HV_+jY$X|53MU@_ZP zAo-ve`Ak3wfgXhiF7<0hh9ybZz_(+2#pkhmvTxrHs6Ua*aNWBn2LCFfAxf%n6-D3E zp_U=KGowU?fR{(O4N|&XMWSp8&e%ZC$Vyn8{{G`AI#4wFQjm#BQ$;XP@wrUU47sZB z6I!CW_foZlDzTka-MboH$ISE}xd=2>Is0IM1;0R@lvunXl{MU~m@}92T$ZviC@t7< zcc3s9lS|OIoyB@Ci@GWQQ%=m81wP7+QDFkMMPdE78IzZT3lNe~RztovfdT+71%fev zbca!q0&Xfryj1#$W4yuPtv*d4UR}-t9Y4|HiOhMhd(%(k2A2)b@!;3Bp%DOXxwzRm zLp400E*?;L^MdPr&Ry?YfP7(^tpt(KUsP9rU`- zHTow{u$#K26IfT?P!|p&1=IjL00g)J5WpRNJp`Zt4WJ2c+X2oubtoKq4Uq#B;Pf~0 zie58AsDx*K%S-SNc{N<1b`WQGIG*5|Qq~3P{7VG5h*oaD8`?JRYQGz@ZqBlQH=Ln= zH||?Gy8p(g+dw^kH{_ih<$gEdTKJo_49LMo!^$26zyD8#0@{i)vhWttwMg35G&I%_ z4=X9ix9jFjQgn0v515SOf6~dgS?lUKLlx+?9j|BRcam|mrulDhZFfiL4P5h)qm=n? za!gM!2nunNvxHh+kKjf~O&d-3Uvqk0zb1y4*J1HS9vqDOgA{3oBSq|4E$@(v2U8!%aH1Z^7g;Bk@j!e z7&kdQL%3NfaMS;F!u&M_0OECDq{ADi62STJAspif&*5fzctZFKlJzR(Hw5klfWwX9 z`7av&8wmT~kQ<&S@HPOr008X2CZx4%^nXRc{-5A(bb)@&``2DTl!EVi`1P0GsIF^2 zx9<%t`E?UX6`uVZ&vg^Haa_#9E4KhJ;0Rd5x12M;4&RoxfCs#0b4_wh_iyQ+FnI6Z z?vLMO|0MVY{Cmp+&K{1}=fbr|2h|GV;cV^xZ#xDAH<$b+{Pi+(gg9S|a+9u?<3HOn zP>9pd_D?aiZESzx;i3Vk?v8dKu)DtF{p&@I@Gtj4xxvA~*QW*AO+#7kAH30Q+#nt< z{{ljVxY^m*Isdg+u;g{Fxoh0O;5@J`J)jUpurt`r5(>740{~rbmtTh^=1<~l$TddU z$%Y1A{J%YZBo8;ozmD9$CgocB{|ZraxA}D}|D-{+bcE_!+WZR@4hRhI2Yv)qc309> zyZ`IxK>r2)7h()sh}&anM?0Hen!^1#c%@%p_{h<$!4EAxZjLexPp}*GzmV(y0{<)d zEh`&Yh$F=9AIio5$zMkCHv--TP=`2Q>lysExXJ$7 zKV}Oz+F$$1+;3`dM+89lzo4K2WC0!Er#s`u8u`;BfCdkofd2;{0f5b8lh{I`E+U+q z&h8wR*TEAUAczy^BTE-fZVoO^Kuq$HizUbb45hIG!>!@sbURILbToF>;&cZ5YFuhA zvS3>~rN?eyoyY3BpvMj%VQV@`2^z6SB9EM0oWM{^nnzBK&h8?Q#OZFBi@@vGU`{%k z8xp94INeQP1C61YCXFn_4NSw&!Nm^Z65yf{;O5}wkfU#mfP4v*F|x78btd!NbE2r(k#Y zc7|F$Vt00@|HVNL><)6XyYVa1Tyuo`%simtbZ|*;h5&MN|IPMabOnODI^8VU-7LM> z;dW=JowJSmjqZMRbomvG^547vM*mAExcdG(`LCJz#oZe8o6ZI90Js^dHHZ`J2zCNH zL$4*_zE<|nS#WYuQ~OQ+FN65S*2(ENwL4Va6F&a`tL5Q-ZI|cN2D?K%+(2M?Pxu|_ z>1g1Z5|MUv16x{qOS`x@+JWJ#Mc2&(Oh@y3tRgqYdo_qPSe%acT09pKS$GF181Act zgRUcW*tvMwx%qXuxJ9`5;8V`Z1&`g~`bi4!XZO(iKS}=z>iHK^_+qn$`#=Ae#MU5@ zhY&X>OZbTGoGfj?oc1nYo15FIsfj2%yF)FVL11M$aXPrH9CmirB3wMY{6aDc0x~>2 zg7QM#+|t4_d~!V8g2MdLg8b65KSu@cD+d92Tu;TXzSjRY`u=n`Svvl2@wncG*Ap(H zWakd|0(<|pQFOqrf7KlAXl~|M#1eGvOc$qfxAX*C)BOds``;S#PljH$U^u&f&f>pK z%}+9S$U~@?r5jk<2Cko92f^QediY1|)-RzzwwBH|*XxOsjuSo#&g*^pb3mN`KGqxD zKlb!5a`-`UUHyGRN&GrV{*-?-@J9oGH1J0Qe>Ct%1OGqLz~8@dz|QbT3orODn12LZ zOI`mOy9v1d8P5Da$`SugNWarRdR~VYBmPGGPb)V8*YN*7%_AYeBb5IRxTb`404s1Y zQIX)cfR{hh&v8+&`kR@c={wxB!SqD9G?&Yg`lz1Vki!WE5HgRDc_e z5M7#%NXwFk7{m3641H{tHZRFn2GWZ6af3SXL%PF^iTd!MYb#m41icZaBm=VBm~L-C z!G;Uj@*V;Tqk>9sDdCaaaL%ZxsA#CjXb5oL0RD9-w={~DB^@EE>yucttcv$vd5C_@ z%V^UR?^?k*leoR%jc3r+3zBsYmM3io4e3{Y;FDuCKqvdxxab<83+TI@_{2R7BAyq) z;M=HA(?}-Yq@690v&B2@%|sI#zqwl`M&Yvt^%tsRD$Q78^Wr79kjs6>B2YA0itSIS zn@r{6#n3B7|X3a(3fwwQJiX!zULVm$7T4& z<+hJQ8S~aKeUSbjqRk`*SV7dG4Z42A7e9m z%wE9`!50J{T(-ro#EJ?Zb){a!f1(^dO=h;vkVOt*i;|4^;O*dF_QQN)I;WN!(JG;H z?OOnkAcJP)J@0tK5_c{vVLuPsqI*_v+S6z6Erkg)9^po-u1bJH`>m~`ZiRhiP=1*j@aB6O8-L^fweO^#3xP1Q@ zzi00?F8w|(W5Xv9XM_-Ix_D>3zCsV9^{8vVldCu1;8YHQpKRiToVA=t=z2$A;tM8y zJ8NeXrvfp~qXA3&Po5=VWLpl=1-jNN=9|7#oj*?4k^~c9S0^9u8=2=X)!V!nA>pP| zQfn!0{KObfWuZ zbsJBWd+*A@9b26=yF+T{K{p-Vlgj#XyR>Xp>C4BvdJeOhIHs>hD%7@1aOZ22wutCo zkQ+@ZFPh-7b*ziZ7hbITE3dw04c(=(120Xbt2%vNjJVRV?5a=jR>fehJ$p{F%+w+m zh?on;@?!OCG0mW7qOi?>mbUDy+F@59sizl3VON<#8mpzqTR&%FXIUy=tno+!;;$Cd zK4;DDa&)xw&@tus_VaX~`t7n(_9PysS2PZh$)W{MuLy9Rv!WA|*;w}PDKwy{=lHCD zQAcItNeJ>tLTr0(>d=e#$l#TQm&E+$DGo1ENHW5!+bE5Y!t^0ZTM|(pfoA1|v-D?7 zk#;igwuf5N2uvej0BtAFE1r<7N7${i>k&diQ;Vj({j9{1VVZ_N2EXaX?UpB8bocr~ zzIb>tLu>fih@$YLFN;vaH3VBSZXKocC}Si$(jR zRLsIxI23L#Qk|*NoGD=I!%fYpaM@c_Et{Z)HrxM=THhJI_Nm;X4 zVylegq2XTyvN^Z0Y2DnS#tPNs?iA-XP+4^OXCJ zukdTFA2~TA?Y!Z7`jm(9%h%Gw?5g=$UrF4gI2psV{O4WdG0HR~rr#u)1FB;+qIFaA zmg5W`a)}*~NNfx_eWZS3;^lp*i_t8;w2Tm)>@ z_B_JZ*88AwUQ7Az`=LSjLIxX>kyuSMW{njZaWmTTo#7bX^Ppf&kKqIG$6oEZ-FtNbe8$(_en*L#x$yObi|*fJPJF~4O)nCEDNrx4OV^MJWt{L zbwBFvUZNF!Tn`V4HipHDi27{$@+~u5dk^+BDaORCS=7*HSXgu)>|SD`Q4{UAm+zk{ z-kL_;BX$ReNk*!or-W4J-_I@(X6eECCKT^;zNI{d>lvb{K?tdB77OUNe|KfqzM`)p z8s1wHAaGPLIsP4IF7mNf|A6u>Cw9dG;)MkRqyQsm8t)!A>K5e})V3&gv22|t2fNl{;-)cZl z{&`34l2t%&M(9R4Y@kURGEGjI?}MLLsyAtWPfNXia%`~flCE$x2PwVc%91 zx~$4xGbzzJskc^3&6PDR5U-`5i!h~fMA=9+_%Si8rv58|cF;S_?##>!ks8GBDk${3 z20N6EYPTOwYlK9v%!*GsZ8XtnPZ-g}aGFwo&tDdrXbW7n*nWW6aR5opS zUXcR)*^O~XS^5{E0c&%9?Aum+BCfS5=XO}loPi6+uS4ly4d+-Wa*l8kda6_GjP!;qXYL-eYWOYBBL~&HTa%FT@1bOhcM`BxmPomH;*^9LGQL7RG^cR3e{1>*QHZI-uUd7n zH<^4{*qg12#6V0%@PjFMi-V)|s#Y{9=~U1d&^Vn?&K1VZ%6>dVE|&gmtBPE)A$rFKlsMTxppBLr1yBMSKCrYu3r#`r3XUu5DCtB6Fje5V0 zol<06FgJ^#1H;1huv#0t9%x2mc#`di(?o|~^e z8m)~4qnm!67v7SLq7Sx{Q(t@7@_5Ml``=Mz@vHgI)w+r_05> z-O{WUN7&1LSp9O-2U{IICm|uM_Go)R_uY{!C@eH&*L6sIau_PGEHlUc+)4o$c}}QEbbJCe>;*?{>UZp4Fx-*F6|YI z{g?`esrFM5Wri;G1M#zg$nlOwJNt(^4PMlE6osZ=i%|eQ6-{6CV$A_xj6zD5$D`l$ zMhbMRMDiLnF?DK`!CU7dy5B6KF?Yid(!z29{;}l=X?d-@9I8a_1$hTHoSD2pO(82l zrc`TsG}3tOv2Jk}av-+oj#>`Kw|683lO2J4l9Xs#)3*TZE)iXd0^&j-5S^%0JJ4~c z2HRF+W_Mk8B)Bt&SX*FhS1(fVNxeZm5z)zD3(MnMbb(Etcun%yEFUVL%s$nt8HN_> z$K$g|+$qlGb5%(}8AuAKDh#19#I%>*+idBO2qDE2zh5RtjDl_cWhBx+6I-P^GcD%| z597SCn5`+JN4`PKUc!(e&5rges;q6l0{*U#_$$J!D?QNwjc0-hqG|!KuPv@N&6xMd zo$PH@21ZQGY!weZdib=M2_VK&u_h?R95V%o10e{CkIC^1PnFi}EkGz#R8ZrwwW^KU zkf6XZX^qA=A!*W{Nq3?{5+DB{_uM28ZJ6Y@RC$pR5|T(M`V9Me0m^%aADdNHYAgkQ}XIw(!GO_1-(T*C`vEB$9Cp z<>s?Ew00h@2E?Mw~~xr$S+KJCD!mrq0BVd-u6`LRT$FFvHRMM zK{6v~5!#x^5dR5f=)=rb!AuV?*?#)lkAmba7mcg8Ib<*7Dv|4|KTEqIlXXUPXcY3Y zR958sKcS8EQkqgiOr`emE(@>ioZR2ZJzgQ}-k}XLz59Z{mgD%=-MGqo4>XZ5M-}SJ zcFjaLh97*2AY!E~eJv{KBfoz?zCRBUE;Ea50P*WMcl;HE{VnI z=QBe7W;Nd&N?N65n_)`4jgiPJYm-fk2E?K;fsS6HQfoHzTw} z=cagM(GTgGlHl(fNyX26k|}ScL>%LnW}xrZx7;Cs$j`jFEdPS(RRY@+4vev;ono{j zBescI6rTtZWiSYhzG`uNJmxGO`E#motIWOS3*H{&35c2@%Ltw>l2)8 z&h+%?4^{TNpZUR7cXRX-^@_EXBoWjTS$1Q{M0w9R~9oY8v#DrKfg- zJ}aTw(N$+_hf2?FQL?xQ*I{xvUwdtbxuZ9S< zeKh^Qgt9tCq<}hIWAdv_$)7IYJ8GA#zE>k~C`(0qo*DyAXE;TgSM_O7h zv7NM$Ddp|C;_j(=zCDEjp-q(h1$l`lhvrwVshoIzfs>i0ftEzLt+G7^>)L250p3(F1D)R8DY(7g-(GL7qDB=bzAaG{ny zmh!Sj>6P4<-HR0s{J2HUJH2`zuXv2M`t#za~26uNz%Aj!^IYK-rPL z!J^2;3d^d&;ej!YG(x}J9E}#mXYo1;QTF?{XSz~+1uliOuqGtgaa7&;YmvgtcbU#~ z!d|I;ER$*<-L0;eMg&Ku+{4I@#H_h{Z)AK_>e=Fj@huZoFRyc3H?nLr=+lPzBd_6S z?`A;{7saYBRG&B0F5w$zyM$I^o}6-YXp@9<7g|S;+>+tXlC;sDV8ysq$f1xndj9=u zu5IF-(55M^=uZuttl5^Rcfwuoxnd=2?b&=%b3fEyZ|8+b@CZF8AUf?q<=>JW_$t`h z$AZ`Wx$EOGd5}E4+JhsaqMFaAiu*6McfxnW(*;kVZPEcwe4`T>&h&BIwnHYD%g?KIN-;XzVN4$fouR!2KBB^^E@{rYpQ)5%6oq<($t5H~90OUJPkp}YIW$bv zs0_cj3@&nw7N5xRnUWIHLiiCVNz8$crjJaLHSI;26Z|%#>QcSTOUKzKP}JkdAY%mv zYzK@!_OtH_u7$t8YAs@-!0dAo0#i*B3K%Hg z>C{b%=spocLAK?W?3hxfeym?jqaS+YD|#Scz<~lkeZFLLG@1vK1;tlu=Oq$b%4(wc z^D(6dxygqJHwskrFdq@i_4Ii zu0&<5mqV=HmRVxuXXKHu3HmC=^u@x&Vq?F&w~Vdr_M_5aM^(i2q0H#vkk}q?C-L>0 zFji`NP9CGEg8Dv4X*If#nvcrK#jj<=&e*%0tfPwRfq&yrH~j4^ z7!FOs7u-nZ<~PM+WReCsNIu)9`w%C-nO>)OLi>r>qoyzJ)REx4>kHA!Fjm5O;U1N>mpH?NZnMy9|KxHm<_6AGy&!)_4dt zBh})=pN7I1@V}w?HM1#G9xVUxY?#NlF%j&)ll1-*7kf|$m4Q2mZjmXjkP3p!nB%!8 z`%;!^VCgL%xd(qw`wLmjhXoAwx5ET>HjAcAbDQ&9&PBhM#-k)JdUASrEWeJXsWXAr z2D-6DaSlv>$z@EkrKvr97?Ttr>q48F(NS}sQBzc#}+D}q1LL?TJOY*x- z7(doDF=&1Mn!tu)Z0hcpQ2le+gXwv?hxME1c;S)E7YSCvZu~}$uEk5K0wb`g7 zdaomCJU3>CUSP|#Rfg&e=97#rG^5y~=#DiM<_(YqDV-$c`fn#HG}~xmu=!|4KSS&A zi!{ERQGa)fim!9&j%(f`J#@N?ZTtlOMvswR>!Q=!2}Ap=FW1^Q46#Sp-z1dk;~ke|%fXv-!-ctYR7qB2&6WIj^o ziw^%W*<}%F7%7Mc9h)B-KE7plQmin484LqvVSv+Mi@@TP1#EcjN(w;wni7b!K{i0B z&lj&U?9o3OqYaUF6URN~d6Kt&=2x88nw6`36%{LhJoQW@MkvxY-6+v#sy|mM^F`=F z$Hljds^bIdUS`We0?c@O_WI^YveMFlldmK!Dd}f@)7ohoy=JMKo&yDWrb#pMiAUei z`3#@r`fKO(OV?k02|azf$+u{Rf;YV~BWmTgjrQKM?m{j`bjDYDEdQe2lRPc8_WAZH z<1}rAsg1Bpd&=F;!c69KuXmaV>X*{_0(Veb4!+@c43i#H&X=h!_fjc*zXarO2n*oLvpq?=rGVDTtm*&8XbSvsC(z+=51~^(#7S1w0+g;@ zqZZ!zqxS2-6Z_=v-#gKX_3)+NCPJdE_}3(R_Q+*vJ0hKhuqDE^kl&+ArqP^BOyabD z6iX==#lpeIdbZwvagQOeO>j>V+e5^_{P~QC1Kn%*n`}-Il)(towW>s7<#M&H9nHzk z&Y=25Lz7}ldb5e7W{rJ^G24zW^gdoANsKIq1@zfvOq$ZvON8JZhwlN;m=o-l)%BXZ zzfPVr?8yyOYIJdxRBIQq?kU)WK-ElUO4h^ zWa{xD+{2Nj7JpsOCj8_u=FZ#QCl*NsKN1me1J=I_s(CzRd*m7>$^kuL7mC@^6K49* z{548&!XU`}Q|Gpmn?IdH7uOu|jy>{7_0i(ONSChsdQ&>eZ3(PQ{>L?DG} zK$v88O2%3I)&41we~R6`jS<;^6=dD1n*6+xW3Oz@GX*zNI$zU2E!G{&upsyq z$^3-8QEh0e5kokF6X$NR(C!X%C{l1e!Ge373`c0GJN9cHX(DBElaKe}*YTgKtjm%B zjM9AMhviX}c&u(kA324^D*CQ9KV!lDm#2{W`YZj-UH>sF@u zcv#nFMiEm!MS3i3u6YjkWYT5=EHy9gF{Cs(9gaL7+oY6FSyd+{e}5_}l=*HC5B(u)yMU@irZsZB;yzkaT+W!q=RoM(z<*} zX$Lg7yE^T$p;uRdPcrlE4^pJE)CVDI<~Zu#bRT#l*4Cs^pNh3iJds& z=ThwEc+(s^-p;;#UKGHuMgP?@TSX_o*mwQc3jSB^pJ%^FAoZ{>hAH;y;Or^&mBjJN z$3wJw$YXc;)}G`jYVHO*TP5QuvWSPqPZMYFMyX;TfyvuZchpRV8eMR=PH>*@akNii zU!_R75#8e*9$4TlHs-eInT&w4*_U}3lLr`RX``b~+snM$FbW7myRwJB$Y_ZGZvXy% zIU<@54uFj`vZmrPcA}N1wNeIaSy5B^bY)Vu*_eKiTdE*1Bp=4WZyjTvliTAIR@v!W z>ca^=Rm&6^Ei7wmE83y>vuAkh9?&S1YyafiEF!*;=?ha6Oy;0iC5=cjy(Fwt0n>J_-ex2l) zSO%h*9EdEIl~FnkLWGvfI(^9u20eZnh~|L#X>J(>30&Syqi5nA5*Tcup~*V@^l9yf z_UCV%fuw-}P;whq&uQABt-#pO)V{qBBTn|>a2E-YLbwZpBfH`2++~mMnKW##=QVtM z)H6p&`E2qX?|=URlK{X zQ*<==$9EO~t6a+oX>JAe4F^L%r)Ar*N+*6~T&1fIW+7>E#XHFOmB~qUEzepK^Ne;F zXyoJ438;$N?^?JFqr_r5v6fHbjz5mAzYu5R^pgFTo(JBY*f(7S5*OMo@DQ@^^NKTg4f zFb4U-x%~OqP<`-(oNxb3G}#h~-Rr*HD;sNf(zktJr{__<#>!X`1QX>bHG^zj-zT}A^}?6 zT=V%M1X9U6#pUg^dG%t?;H?rZzN0OHfLThYes-CJGqY9~h$5zv|D>Shyose#z#m7Z zbVY}|zn+tV1a*K2gk&(_$$> zUxy*henJbPgn;?#QjO2bOl=SBxA@0$w+eXT9qwrAxVjUik`?pb^WeAEZmNBvz+NCp z9W85zSXo;C6>+vUJP$ek?pC>9{sKUasHn|R^j>+FT;9>?@sHWq@gO^60(e zB|JF$uHW*IJRHtO&Lv0IGG1ED@Uy2K!bYpGlGl-z9O7o9-{P_boTlsTT4^5VC2M0w zpW~Xkd5~oU6`l7_zA5)NpmCb1zJt_tsEtIsQ`bY7bZ{Ab%8pP_l5W0h%a3G{pz_Y{ z_>iv;i?fltki6ooJtZSP{tNAHTbGK0`T6)hQC2AY4;@#EdP8l=%@*1ku6yyNiU-i! zJY=75-)BRkzWw&3^a?SD{u44j8S8X_9+Pv+(rLlEc$ha4p%x4{_v%F6*n5FFuyJgV z%NL<+$wq;;C3(zZ(e;gXY)a1UynX*=p@vnf{Pgf?zz|wQU=|-;by=W+dI-fhAs;}! zA$feyg!uwD|4_@cb=P-O8ErfxrdS2lg7c(zJAW4;FVp`^WTk4xB4}%Q!Qnzc`$|$M z^0L}MvRP6LL3&f8o8}1ZlJ%rJ9DmeS-$ciCFyu}^0KdiGR% zzSFF2<84VF5iY2dcYT6<1~ST{ZHICKcvM2-sV)ZzB%Z!K9=zf_2~c}5yWc#rS9DIf zkAaag8MEcDwgy$hT4GOw zZaun`Wr*9~A!W0V4Q?7{W+N7OqGPNHg+{a5Mv@bBg@(c9)AYWLpBDF7XhYfecpcyC zidt1vk`!FOD%?G8VJaQcvnL^*6pU3XYV5s7`cgQ*vVq&Avhn%yRKqX{YIa#$&SMka zyYz=>(io()s?PNAe}9}UoFx}`aQygY`HC4$fx(gTXu+vRx?r>Da<4zVIjoOI(_(LP zVa}+FA}PLc$*IKU?c(v{w<{9q?>h*mr*0!dIQuH-L`a5@xxO82C*EomlcHJi5I7oR zj34H$T8ZAjjnn6k^z1SbEq*%sMSV2$CyP}#qt}}|Y_mzY1hs?{OS#YCuedi;b*W;h zG8bztHF55=Lcb%=JykA`)WgE%@MDwY+^5(>gre#r1sJDso2hg4xrl#vUcBhG@wsS9 zy)S!9K0)VPg2_eXij3iE+_Jc|6I=aBW{S~jU6eFl-0j;FP>%Of8)@sUdFh_Iwz`OX znEcGonJY)?hWt3gU*Ip(*8Z6LRN0vW$Mn@ z0YPXcO&&6xa}2W3M~|RIofKj?3|r9<-fte|-JcfnJN)|G>Z!Lf-d-rSlmD#luHmX! zfQNTvZI`!0qQY@<_np1oD-KiYT$|QM+mJWy-A~U{UyJdOjp#Fhg9sZE9BJ&BoCbwZ zo<7(cn0r<9N?d}3$GX{{{+wBFz%Jj$gV?=Q4HB|cXVj!YXVT?E5bom};?B+_Nb34x za&$H=nf~2u56J7$^JfG6jfq68cNwBe;MOd>Ags<0TJ`3umBm!46b0x{iMPc>OF#K+ z{2u_)KrO$1H{W(=flF`sZz0X{=C`?fQ;x~yn&TaowUHo8XS$Ol&pf`7jzldO4w1;3 zw!^m{E6B(uNZ}r59m7L^)8kqYEU~YX<_{~d^7bD3m0mIZR-X}XV~&G@WgnB?Uc+wo zQgdugmI6s`WkijV`!!>HR7`{;35uA=3}uiI7oW+GBOhzAMN)NbbnP|(n$S?Ql7sO8 zO^%#DO)AN--t;}jWHB*bSoL&ATbUEoxNkl1HuPd<`Q%um z!!eiBLP!9O#8SHTE6KHq%f@SRyM3xEJEi{s1-;bk;l0fB+@CSy+&c5X+01p`X~BGy zoSMe#AB>2glhnJO-yG1E*sZk#Zel(k3fVc$93n`{7T>pMZBKa8j*&{tprw@aEz?G{=`Tsivw|$PsGQ_k3xF<1W}mKzETa$(p~hqx63 z`Z_1%B)GWOpMPaR@{yR_l4zQ53S31%&h%OWs;{@b0Mw8x)W0Pnoz}3Zequ4(MDuup zRXVkPVfdAR08)UEdx6qyc~k?oiyZ3ALXB-jvUtIefL+J>#2q!%Q0rcuVsrSGrcL#r z68P$dntXL3s&&)~oexpk-@0j0cltbzHe$&@_7;6$VW*66oFS4tX$evZU z;(T(#ES1t_IThX7eqF|~NSND;RJ?*AG#9f*)7!}v#ZjFCfFl((P|P}Bq14j|5?lC& z{Oo^2S(rE3)#g zV^$fC{md9b9T+ZyuRrR2b1x}&+#u!v<7TK8W3vrUhUq&CSfbemiuyw}SFP z1fu5GAAJ?wrJh1XknL#L$0_+(4#2TSvhDrz^i^pl+N2X@Iv=`;VBlQKmB}s>H;=oH zTcb6uFCUh+Y(=g{?oUWM7zj%nk5VZ1eMBnTn8!ylDPE-5&aHPQ_v1%dph%L#USgvM zCgX5n;V{K*eUF4r@mxUHp}v(_MSJu=a{mBd`8tlq{nJn9 zH}2Q}(Cup_>|101DEl`nn&GmcGp@LPK$TTAEzn2B2WEF#z{b*wgxY ziH0-#HlhbmZ@5!YnBoQ<{{YHv^!y{^@z=F0)C@5JcRn8aD!tDUYHu<;ZC7~MK?a~x zupe%4Kq_6t&C z=LA2pK2pYj3L2AAb^A|DVg1(l)A{auD2{wE`P?Zqr2qqVg1>LuUWOO<^!D(pEa86< z@cC`l zCN`9U5LRg>R2>ypDZ?zr0lu`OD5zc*@Gw41LMH<#!lZtkVM& zS64W6H!`@NAX)&i?}FN0zas`M_`YHfU3XCGi-N2b{{V??KUv{e7#%F<$ivG10@~yo zd#boIT(>QlqDhI=9WQ%peLqeW-r{3Lh^!+(4TiNTuwD_c<=hKBKNgz$^79#Se-;mt+GMY8 zKC201E#_hitNTbAbim^-uI^si>f%A^+dQb-);BbQ#Ir4mcyFg^s{&AtNs`BfD|}bW ze9PmRqO*fHp8T(frc!uqu4YTTRh_m%^Ya|m2R`=`f?#WinO20TKx5j`$VX0*&j|{x z{5{%^U=Jp9^{$-oHvWfB-8-}==V{bjoCf6ruN>E5c8tW1~ zo5GEx9~Tfk)KhNe zm^kuT+TCBnYjUNGHt23uN|X-NR<5zbVUZIShWky1pz}Xfw zqN43>?Hg=7Y8Y~>yAD}%e`BAqu*YX^?G|Uh%g)zO-@$P0d+1Li?E*QzpvpZ{AQBP$ z&D~~}Ymp(=uLy~c%um7DO(r+R{FQJ1n-y--?6NnO_A;<0OJp%fqQRY>Je(52Iy#{u zRNM#*C`ltxA=(&T+E6DVHCAAD^X{WNJj41DV6t|xVec%x7_s*_+)cI``K~QdVEmhx zW9*@}w#x}%j*(;}kLr?g-m#G+a->HwZjIMNp`n=7tnoKJ4P961q3$!5ae-mMIUC&N zyklXIYpeB+RJYA|{N8Pda~um@ITsjAZ1K3to(mDa*O<^)od z>m3k6OksfshciXjoj8_I`mjSGq4g9uVk)HkhKEHAls~_tN3m3ZzZ!reoft!DN#t5k zY=>~#G-^rQ{kv)VsnaswK~8qCAf7a2w!bK#EvNJv_Mrxy`d(exN!5qKkzs8Q3fz`! zUE5gDgQ%rP-K{D$>53C^yTRE_yG!$}g2WmM4SyDt+76$yaO!Id?Hd-N2?q6-Gt>)A=+0=%@1!Wq<$C@3P{`3Dkx`T4|{o>;7J=Nsb!Dbfrk_pB;`sNI-P>(9j=; zdi;8*$jhNOr@0ymY%@GsClY@svD;eq9rW9!Xb(dQ0+r=X9O-@(%xAc_q-6eG6xVKq z3jArQr+%BuPRby$_ESHb;_B*8rBkk;5v@;uj=crdZd8vANIL;xOy+ltZQMk3)`aO= zRQCtCJq?jq1tUR68h}kTIZQXCUW-Dt(64d(emx1I+6R`mJ@i#>MA8Q#V!$1gRuvl@ zRajJ!^Q{?w?9-~m+l@}5ce)QTV|+K`oXy;iG(49tV|!!9;3*;ZDaNBsBtjew|^CdmfUY#oOy4{c^T)-=9)~O zA>_QfjkI>IBa-IvvzN2YAiT=JvchJw`gtT2+^ra)Z--vTmz57q#8r&|j3(6sfUh*c z!O6^>r6950xrx-C-Fa14`CpdutbM*u5uM3Ld7sM51;$0;w^>FzAoKc=W8%n09K&O6 z8mVQBpHe~#PyoGo)VWh+yCXT+TZMWASnH3DyJE9}z;pY}XU2R*%em8B;a?F7a^5|| zBgw~)Mve&+AC0q`?$XXOvZ?iMF}70r$|(M@-Kl0?ha#6^E#pD2)lyj$?FU99g%j}} zf6jbUm1Bdw%wY016PX}SsI812RSa@T5lefEeYTg@vX4?AhAH7~cPZLNj`5H|)OOMK zqpgV6o-S|Y+g?qFd+aRN+*d!8mOGA7#jNf}_-5>tid8sEOO3lR*K$T=h7`CeiA0G$ zLZGHaaO}j1J-Q#e*-7-yJeM_hkF&RyV{2z^k;e=* z?Uky`MBZ(iqs2jRkbwqoj9l3r*nFJwZBr~!DUne(xin=b@?Y}8ybyvA?PcMHOk&)R}F(2^AAe;Otj?Uz4@)rdsnkgRE(>V+|Yk5`+ zAF8;txkznRSsYthM$t$FYX_>bp)7u2v>OQY9#N-4CK_w{R6DLnsM4Owj-H^S85kBisvQET-9x^Jl{C_|*QHHy!j0io+6xpC0BRy_ z%AlPE4G1**ejQ3O1F0uUdK9RY1k#nRgW>yr2E8T<80`Es#emS77aS34d-kWpaTNXk z03NQz{>?p=25<+2>tB68{{Un95BYkXL(FRb((P6K$X|d=ekkQKeU#7e@m)XuZfX1a z@wEA?koq4>Ob`A%KYe#&(C437kKBxY>P_VR(`9WHhx!@iGSD9Umxl^~X<7`aARd}e znX~O}{+DoV&muY^dKp-a-E9HC_-Fgn)MowUWv#cL^cl#=A1PzXc%R=-!;>}brk!V> zni*@T^ve_+{P@7DBhU)OTdl-9ia+V}ieq_Cz8km}Lob232~k?N_@9mGpwtDsYW@EJ zXIV0Q=jthlP5!rrc|<@H{{Zof zRX!ccsal%-y(9D25OMVM_x}LIAKa;rl$oz^y>1OVjD%vb#qa;0YsR1BUm z$fau3QC*<-`#P})&MYj+BN22deV%IT{;f&=QuQTL!>qsn=VSL(RQu!iH)G`PONz@$ zEyo(L;aJPNxbRn#677|a(tD{@?(G`c$(bM< zyH2}RwFrHkoNML(09MTezN4F_$3L4MGi)rEv2b-|?)?RG>Cb%M&odSoON>Fnaq9@O zMH4=_`%7!6?joe3+w14`@2><%eMYs8LYu1cf(GGmkvCIbof}1;$wiU zcM+}m-?rawwBPuPgJArfCToc2a(58s?=GNh7D{WS*DsNfU0O$b>z7BGTl-D1gZ!za ze@}2`2dHDhWJf!;%DRsJ>MX7{uH)dnI$qkp#oQ;}XOFP{Nq8<|&hrc27t5`#n&v2S zR(bWv2&G%7nV?$aZljhlQxt^kVMZWN7GiRP5I3+oex3Bw!oES*@QnzkPm=f(iFvl# z$C>aPo<1pamaA);;?cYq*zxw3^5hM!Qww>2ED@!}%i9!}7j|M1%|Q&P!_t!U&T1{^e$Rr-Am0H9*B-RF^)k^s4`3p=wt?Y_J*ARp)6lz(E@G2m2+Cn2PfQvxozN0{d404N z4{!rmarXC8V=C4V->lech0Disw)dBIH(0;RB#Pk1$vwK+rRDINC|Ht{2a9ku+M=t{ z*n|?JTAGt<152r_?%}}Vb5pIe+htnj!d03@n%2fVZQZOw2aehofn`~zj1U+WRRIe& z?xJI53gitA@%m6HMMJA^A9o@p*syjh&;_7JGB;9KS(_O%} zZAq+5%z0#i`c^<;{bcrBYh5CIvFg&ola8T`6pnkYKTi5PgY^aABjsKV&12i9 z#I>Z53V`|tx( z{t4&GKeo8o9Z2n33xa;`iyzHimThjGk`ml}4gUbdC@=EQtwwx#5Rdz3`;;U90FQ13 z{{T{X_x%qS{3k~L0NqZJ{{SbG{gnRz>Qq1W->ZMkLH)D+%Ky{vPEIey5#mPT*f%pf zASr^!x~ACK%Syu7h|qISil}9KZSs1IXaa*y=c$Zrb^JK!KkSdXm*#SR<{$e<@1)j8$DB4x z^@Mo$hCPSUi5~3Xv0qRwJx5at+Y1VMVlWQ!+LKCYUWmBZjcwS`mj3`jPt$6y`Ps3Z zvF6IF*d2%4NbH}Aylnf{Pap8cG&C*7@dvmh*0z19Iw$3EKjk9+!hO^u)N{Z$&zi^j z?f27B$UH0K302E@>w}O9AO8SL;p?uN{{Wf&-9X^rk+k5zNB$ap)R(Gf=oda=Z|k?; zOm2I^9xB}-{{Tk36zYHe*TWiX@FLK5r$TO((wp&g%ya($mY?0Dj z)M@iqio7|%ynoF3i+HDlu;aXUEtW$M7Q=25*;&afRjdi}hfz^lk=vkS`gfr`(Z&3m z6+vzyD8UE&G_rk9*5SsUL)J1#R3^qp)b?@V+gt(r%kw*1%Qx<3}_<5iHDZ4uAD8UtIxeZk1kGI=Hy$qW)*{j4zB2xGN^3x|>)uDY7m)fPE#<`)RlOyQbwP0c|?;J}ev z%phoVuKD(xTIWq`MTauHwXnxW3~ytW#u-vO=nODC)_$}X2^6m6Jh5BcMNz0|j>n9v zAUzSXq-C|Kk|kqyJ|04(CJWpJrc&NmdBzE|7tl){PZyoCo#V=kg``dC+$Hs^MR#o^ zaw^L6qt%%z!Hr3Qm0D2hfn?KKn2Y#ZNz#*8pCn7g9?L7jc`j5f<~G|Mn&Z5NJbai* zrh%?xk&O2D)>GCtx+XcyX)rCfc^%LBmsapTmZ3H}F&l;L@vN>q^PPs@A2Q_aGIm(& zx42Fx%Av63oNZm5S(ZCX>7u@YeN+K`J(BDL`He$YIRT7J)+J3qV%$sy{{RrwjV<3z zuP*Y&KbYLS`9BzOV2>106JtLiQnRP3hT_I++qrIS;;ev+c9G%*1vJn?Y=J9Z$xyVh z@ZC2ln6T2<(EhqkpXIS3({A#oY3-(@{5q1Q(6)zLai*~(gT~Z8EREX_PD$<}9+{3* z3}f}Deq(Tb5)?nB%^gWm~U7 zw{3e^!p2iort0nhkvR<79VxA5Aakcv$J~M&E>DiI!_RWomove!5e#>ENfm`Yr9DEn zzLq@662^{Eq}q2>=>vZWQ(_1-QE;rh%8~J>l`oV$++tSoPr4~)l8l1T2YVYD)2 z@!`>d&oI1No}pL)?_t|i)RePwf*FxZL1BeR}-Zcgw~-ZpawQ_Pa2fURED;IYi=BP z`)y60M$XJ$y_Om0g8u*<^1M<*CEdn4bZJOMv$(o~-NJ+ebaI6S+=OQM#g{^P3TR6P z=X1iQN47sUW;j+u7i;xbE024s&5UAN-qgo-lH4J;cxUusX%S>QM$x~1)>6yWIpN2W zCW=@Ukg3psN5J>i&LoVtl_X@6{6Qd%Ez7dIO!keK@UJ@Y=O5-7&u?4{EhEEkZ-0@! zw8Lca_O}fLQ+{E7t!yqng=2MT2!)z0;7LyXJ{LjgPOCJX6Bm8Bn3S9Q#b@R9{=FN# zDb})lzE*Z0ZBKYOU$>k5)y@d`H^mQ_v&Lhy7g3HAi4coR`R=W)c zt9D`4{{Zsurq$J)WQ+8k5yV^q-}fiyuy5YJb8{x}Cj8>Koa* z-ch&z05QJ$5B>o5yZ->W?+}0Ny|4RDqyAF#xBmcc;eWbMx|{sR*Z%#(Ru>);Bo|pH_91UiQq3E0m5&8GwPJ++b+pAp?rGm92H^N_NN{P*?$> z)Lc|b-C0RG^Bibth-?d~+MsS@xrhU3EXP(f{rxNIPYQ#_;p3o(b0Pf zin-IaPE@;=C|_v!3f@dvnkg*;$iIoi5swX_nO`5-kR!pXT*Xe z9NhBm6>5GO{TI2nDYmtn$Ua85;S!cXDq6sAB2^>^k`|5qQL)==w%x32^HZ*CBh=Y! zcR_}zxBa`Dj(k3iYpTTbr%F`|m6bHlZB;Cwd&=IWCR6_ar}GeQ?;6M4Ha_<$4nEf{ zWoda>aav={VWr;$rC5;+Upk6|>plk~~rm`g<#?-jtLjlNr3SrJ?#5geOh zhIuX63Rig`_5;67{$%QNl`d3ZMUW04|v2D`3KGh@Uqi!SjjRl2)GE7`i6QGvy3n0E^ehbcvf@&<2HZKcW9R2jDutySlK5 zu_BGJISZ>f3BHozRkw3IS4Vrd)W*YPrJRB`MVnE#LH734wvquY?4vAK zCU_>9uPj$7ad_8%mrZ+bG`Q&In$+7F*4&u=d)S0w);U|!S!h`roiSn#>jHb~NYCO@ zd^BZ_V`<}B$7xclG;>Frax6x)KZ@=u1&>-5J+Ox z0M?hhXOKmczJgm-gCCa2WUVGcX<`;NxQ<^!Ygu5pn(k*+iKqaTnNw4^R+Z-8vgo|^ zHGdvRwy4}U9dBKc{+fPB!t(DBTtjs=?WRMCWbs&Bha0mOhT}1qYyeqANSw zNC4TQyvr`;Xx%`$i6-)6-{RX?T}BfegxJ}MAoBJKxehTj=R1VW$@H;eIRqJOO@+n9 zrPY>6*BfsY%tBcwmu1DY%Zqs-V;p5vkSnP=>MjAlgb+RTnrYO=#~sfgQ*Dy5iyPxRo!pjOIv8tpqP%$;H-PB|yNbjh%t$uWQHag!aki4**18eyN*3%?J z301PQ?P;Tzx>74j1MxjFvA(3xz}#)lwf_Kxa{mDJf?xVF*Zvc!Zyl8{EcVy`)$ik_ zO1|k*tXow-v!zVKa*=u=z9j)=G-VA&`+my&Pj0M5w1QY%3ZQf(Qex{ZHMo%o5*G?2 zB>o_k1LZXXL)DNMLaS;K;zc$Y(-qUR`e6w*r+)3+eVQJnO-)W(#ZLBJ4!!8#ybrfd zfa2QTrdq&hT!Q}q^*s4^{2Al_01p=H%wlyu8pp{`JE`Iz)T%QP*}~s$waiE9;l?pnSGa;f!ky#M4D>ZxoEg0u;C>uvWY5Q_8zxYNY) za&o25$ystwmac38?C%xsSg=Kfff$MvX?B1K8u!(baxMvrw&E`@7vubU4=9IZZHchA z$H#39NKF}icuE9gLFs`?P?kN<9!w}LD|mZ*XmLdDSZuNH)~PqnOXmv?Tagjw^ReP1 zyJWJP7s#)zql`ve+tn<^lWl@d`;tXqdsAM9dY%K`F&`c``|D8j4yK`|Cd$^-aplXt zk(^h}9_Kh-PZr0PWV6m*uhTG&|Ug;yc=P+ zy7j3CPtV65Q@-Rn@V5`HtPjL~Xp3J}6|ebJ5hF6{M!(gyPJTO*!)GjGjbXP)V+xH5pwP+z41tz}chy(}+*hFp zmQV?*b3x^>8}Ci0H^^eK9->7hn#c)uBheIzf4c>Hmuihk9lv)}or~QM5m#|BjEc@u z>&l|XkbJ|5!N$m0Sfni^=<+9`t|_)K$+eSk`^cx;(bZ*f601tVp-^-pyNBP`Ly3un4Vx+KO7QQj z9;K6(jz1#^B~KpjWmZ>|{C(vt>&BN@fp`fJLyxhtGR)~;<)+xt#4LzKDWLeDhh2|L z%ISzN9F}3)Y(3qz=RIQ+tLFwXMhQ3NQJ<4|@00QMiZ#RDTie^aw3j9+Jy*SPTbqc~ zs=FdkMH5r90x7$#)Xc_vu$?yFO>2ysqvyndo&#>$NZZYG401(stn2~Z9KNBJGrq4Q zB9aib0B}GoJ640MHApX(1?U~kbFf8s$#b|@(XkrpndXsCe)l^gR)S7|; z-~#;WsXih{Z7S0rBsMnJlid|-k5genlTPFk$`T}&dx(oJjLeFoQC(M#hnA*P{nnfy9IIuKW%8w8?0=onKH2h`9 zr}mYL^8N!kE;Gp-Gni)cS;=jqidV?uG0%>>98ov8@ z&_dUd4-G3nFEl1w<4VNDR{D#8c@TM9opd+EGB~bBWsAItEZmf~$XUjSuWn<%v^y`c zLBV@wRJn9y2BI>ZR!LZdjhk;9Yj1bgQ!NozK63091ojiaT8?Zu&6SPS&F!tMP~2X} zX${bfY)4BWFn|Qn5Te{LsO~%V=rT3z03yPe_B5`j2!=-hd_syArE5X(AG@m&i-0dw z%{Mo>IGLi4`^%Y#FBDr$k-+T0UCSQ*(cA7?Zq!uuXbS)+O~le)A+F*N!oSu!RDiu9 zaxWTgtv=mOfc7Wmpc;?6pt9RgZ+e(D`OyCW^)Pu;InTZ9+W6MO8E!EASB+sYc1W;X zEUA&cFMD>a6vj=$Q8aQRp-9>=2&mM)M34C-Py4dlo42qEql|)Hqmz)!cLbn4!mGR5 zTU^_6eiwqVwvId49ivL`dUP?%HWW-1V*=!pVc0m=MIH?EmIQGuHXj|1xXb2jrpU#agNj&X zc^bs?UdeG8j{3qmEG?pDU;(&znjk?s(2p%W8?8L~GOiQ(EJ?fB7hYFmUZ#4lNro7q zlQuipXot)vmVs(rVEKf3TwM2=>shcEH~3zc90U&#Wjtj_7W^Reqe4_>{|RRH%0X9i5O&55G#*Ph0hnf8#wFIZo7+8~e5!9`B}_UQ5NXTtOwgy5yKBtlC)R z{M5sdj}+|eH#6liR+-#Qqe=h;q_|Q}wLJ;FAJtt0VReigr2|c}ZPS*Gt^18ykJsHL zSwEO`jO=dR(U!NoarXTb?f9q5d~U+h75@N8o;|h4z$V5u}};~5R?gsp3|M$FXxl{9{r>lqR;7-3ZKW|2T1+g_{V`p=-@ zMsJwx-HRJs{CHCzj?QsTT{PF2%$9qYTE^_s&xFEHV}y=i%u!{}^C|E#G5J1W6{O@) zQGOj2{XGv&AO8R=*I|g?@SrZ<(R~NLhCNxCo4P)c&?J-k(ze98hKEhb*UJo4KW^Gz)E@0L+(+LpAh~sv`M&F|WE%r+Ca9I~?9rfD8b|$sv z&*`z2Om2~4KY8Rja?<>2t7CN+x0%&RJ&K40{uJ19?{An-qFdYUbC|xloXB3*^Nw0X zv9i=e66tRcHt|hWK&5|vigga2n9#C7JnQ(>d4j{0n)W`*ulWw4FXj>R2tmNwGkrNN zfgew8LT@biLyzEKxt-c6Uu!tIpB_*VFraPr?>zfdkxhuy_>DU2aAu5@g)!Y+>)~y{ z1H#1DA=Ns5N<{KI#NkGyiywf~;ZSQm;v~1oPcvoi@juC1$V5?F-%Tb)IW|VJjm#8;EwPVNk=}b;1Es0sRaOb0CyjO?`cQjR z^N$k@>2$KzW9JenU7*=b^B7i|7 z6$q#tcwAawfp~-LsO4nhAThjZ@`Ir~Mfm%TbYJ6sDIMPs!eZpQ##{unSZ!~MD&5AG zQcWGT+_1wMk5EFvDWKAo0-b0^E=j)%!<hCu^-4M`AiM$nX}D7bz*?RM?T&dqqhh!c;M+QzL4^_q%q{ zv>acEVljynQb~=phVI_*pUiHQ38R%-GbPo{%Ra{>23BIOC@x6!^A9WN6 z<3Iw~0mPa=^f4dz{{ZY4{GC^^r?3Cl@8hLPzUfjtC?wKSy@$$8Pil7W`*rCK+N&cH zZOW53;bdAh8%og7>Z46Q;ySS&paVfPjmSk4NYa##)e2BP)e>wqB?D7-&$_g)Rt1HC zH4-nzkXd5Nue0`k#i*(5dvz;;#L)OtOO*Adw|$ov3+e1GIT@bj?&fw^g2=i8 z!WfL-%K%Ue%QB3f0TBFEAb|$rs=P<6Cr2(auRgsuAcjGt35#^Y?wqx z!jY&R(n}HT1lqbB%5s~I700;$03XNy0L{E_6@bO!u{N+l1*N2aMPwqlnrJNIhR){i zBYPZ@%Ojzcr1^;;b>W?JtK?;5%#V=fFysXU*Z@f3_t(Dk4vmkC3MM>3Nn4%-n}Mk$ zUtZ%?_vQ~Ya=gzXw&U1&ZSr@M-J}-L-R@2!gx04anN&M3FIC6#;A*0sMSJvqjp_LE zkDr$^#)mEdJZQ1-Fw5ng02&YbN1t%LMbB~kzso!ilUea>r#a_w zJ76&xi0|=v2gG1yOp5PGaZp)8jxq2$$q^M|tq}&K_33zB2h)+HZupy>fZXz3y|>^8 z!n`M|`j6F5nIgVvjG-fJc3T^2Ii5ZA7sH-O@>X9NpULuEzFUxS+$HWh#d6tnN6N@BEe)JVvb1uSkr!2EBm;};4^8yfPdlfotfuxKvPW>`epS%=Kh+&s<&qAi zD@g!eBwd0307!AaJJq0ge}iW^j1~kjNZzVFQ*i+yD9mUowmI%>fCOxlDG#Qp^?7} zZw{`*{_fTVSn|GvUaEEPM|BR9)0e7#b}X0|@$Cg!LH)k<91XR(6(&!OSB&ty95@=! zV|RqbPm3!gN$T5P*+V2V4bGsn!S^v0s}fB+_2!v*?U&Uu{{S`^NF;mTkqkfpb^&cG z((xsVE}e+j>{2lrjR80CjwiI#7xx3q`F97k%-Hc8jC=A7Y<81nZU?86xW~hxy^hMx zH3E`hBdE3Z5`-^cbCz1IhO_9pkoS6K}A7_oV#m97ymAQ}` zWrizTYW_ z{3=d)Bg%Z^#{BuQR$RIdC-G<=TU)Qp?JY#u`D8wth_bl2;f~?7AQx8ve0A%Vm!xzl z(atjY8A^C5Bx%Qu#lEWaydJUFAQ8S?o^~^VaKHu!w&L8Ws`3{iv*p-_y2i%wH10in za>TR+s?Q46l}*Y`LD%>74x7IYRc4SC2HJLaR*zHi^Ki+9NVw<5prQPaiYl+q@`lRDP*Q;D*Puh1r_ET&2*FOBq#OR7_2fC-IINMgo9$*A z@wLUjPU>lw2VsaYNpm&z%3NER!1Q4^Y$P6|!5k7sYb>q;$twy*tU>QilJ9HS3KJs6 z7>3ufr7wdx-ahA$@hCDAU%B1Sqn>ReC_0(gQeZgw&#giRx)Y= z6PG(nR%V4{Q|TDYuN-EM!GhOH0D6m(E_UnLRicC$k&ZY(PNw>b9Rop}ifcRk zJ@?bgJ=9NclCmn75m`*Woze}`N9j!}280r>;BEi`)V9x!B1s&pxPhoV3FLm-y6Y64 zV#p5OW0ALI4gBXB{{Rxtf9&pC{z=q-EkFF+e-S|Q;Qs&)PlxKS|IqK$I-bY(9S)y& zew8-m?X7Pp+Gs_4fm&Dg{AtpmG?oN+QEkMegSwljM%C?2PQMa*nyEJIs>I(@N&Ck6 zNd(je&}x1ox7dHz=)iIn8cE;1Hxu?6{gnH)??KU(ZDY=wkXeH2j?1B;ZGH<;Q{U`5 zbnFy?xamVY>L_{7$vk(*TpyEjJk;>xu$*HLm(6CbE>F{lY;o527Y%UJx|D_%c(ih8 zSMUPNDOuPev)bTm?xs~N%7ECDYW$&n-uY7@<-a)jFP2?J^aGUh?CxOW#BswcQDpM- zy_mdMA%Q-l={8n0P=Ne9p1H{6mQ{JA8XD=sh@*oMcq)xYGtb&-;PyY_4A(jG4r9qT zqWJM{Eu6#Iq)MdPUSzGNw8-7Tc0mE{*2*xuN6Wp3#161J=Uh&iCq%?)HZ=1KoD;%sHy&~OvV z71SG>OZ(fIZzd|+w?%k&v}AVMs1+c0(%d-?<~(thk3>&FFCea$}D`W36?u+%L^zkE$pO_{Lu-vHr+;*>i#dP zy8i%}(5@V4fN^JI%Z-4y(^e$(M@G+Y%x3ijat-v1UtT)g0%*I%9@^~hFRXai4Dg?g zxSgQ5cD2UbW3IU=#>X>(HQm+cBe}^%E#}&8V1esRdNiF&tmYX8Mpz4LctwS~udPQX zpn7kl#cU{AOX;Wr=h!~_v8*SDcyEGu#%not(S0@=*84kjw2t1!(XAqrBawS()ln?1 zWAvZWM4(mpb>GT)^;LG6fi*Vq;TdApZbDPhz+aa$Jwd zzUutn$KNf-^S(~W-*CJZL)4DLFL!&9pCfyJa}@!(w6V0ff)z^a^*7eE>#ds`AFK8F zF&T^FVtH`ef}Nv??HBfIRWf>n-k$W_@#4#~H!wWR+|?Za00l_x+6`G>>k0Z^_>arJ zFXmU?F5;GaOUPKBJCVp>P6j2kwaMH^WhKht?`_ZsB zUNgbc=VG$N3OEMf?9d(@SXle%&hlrs{1v7W+H5`t3h_yGc{AL{i?Nz{p7JkJ>gw)U zV3X=)k)|ZGhTL@Mm{~GK3`nw(5-oAM4AC34b3W&7gA5h@8~$4XFbSC zWhT}H{l9%rE2UuVk?aUOzd=z`J>c8kCpGogIBiJ7kE5W^+7f->MpL;Aa4Xr)S? z`kuP1Y>=g1NmY>Z2ZywBu45~wlt&R?XcY{-#POMUXCLDhb_*SjcRO#Bl{@ zipX4u@e>%P3muucu(VsBP^hF&83X3mz3Fo9hCcz??Z>!j@UJWCu(M=jIbanuw`t;S zP)2K!1=7y9(&R3U(?s`=DQCQyK;0dwkPVO}KsBvvQ{SzjAyRE>=j20hO9IVOo7;9f zG30+OV)(79D_`H^CW{{htWPMK_S(i)dP(ZH)7@Ri8{AED#DruFHkwdw-erSY=TB`F zRZ(uE#c`#6i+`toCBEgp-h5S%&T;p~@;rwHvX7G3TgPWS6Y@MGL&oxX`&^WFH!;m+ zo|79S%uAVKlrlKn0c~6@-qnS`4`3@cyKa_{Z&@AsUK{HvpE>7Thj#VA{4{q?W^(eIt) zNd+|o>A7kce!@1Nk4O&MsL%VRfy;2{SOMyaP&dl1y8Kj;QKp1+L{%W(hRjL1pc32z zRt^1n>-d4Lt3%O109aILn(kBc{q?6|QA$%mL0;WBBpZ%2sVjXjJBT$qv>$Oa9}0Fo z8E#he)ZOQ&yWbpkCIp?UD#? z&iEqBhtHSJS=f04%ib;F+>-AJZveP%Gsrn!IvmZc1~`^WYiGw<%ds8Gyqk2_su@U< zc~Fb(XR+cm9CfQ0Y!Yz$Z)Ia{`)Tyo=MC?V0}mYch3Bp@V`poM!(qIapR~qfpoFNi z#n?z&9}x`<5}T>5l>og!Lcblx-Jr3lB$9J-ivIu@B5fRnUFk)dHQf7{-mVAqZ1J=5 z&lUND3zW29s9saYvbHSk6UO#gjz4REX>}Qi+y4L=SlXb_f(Rm`uP6DDj_;MyBTIQ= zAay5?8~bb3zF%d=n7u{Lx1544sR2Oe#@hR9sc&u>{0A4}Lyz(d+!(C>4bvGM*LeJl zxUBachA7t<_c=^;z58MF_;}aprx$TYX>$riDoh;6g1I<-XhkyRM;BAmdcTEROKuOS z{{XY0@2zQZvwC9eY-g9I9Z{0S*IU__n5XwOn&Mf|#$5Ljo7Sq9gO+i&B}f3VNivBj zVL_o?-*-k%iPThhF~o`5rC5Cjg#dLd4MdVMFyzY0evz-bqvt2^-xK85awWeb;}McR zp`&hB#zahvSv7gGklTEQwNl!AdPAc1636}x!94AyU5C_NI~-hODIWX%SFKo|9(eD? z))L*PE%D8r<-|?v%Kkv&*(`+nb=ejx36;ua1z3?pgt_|<#B%h!>a)4 z3Q0p>;dtGiZYv%`a|OzZ-e1dWZEYQzxQ(S}(-_MKOrG9q&(&|W5lJzrJXp4d>MljJ zCe_ekqO;`(ekUGhRjuUYmu0daPfWft2+~ zP+T>Dk~Psr?o6Xg^8jA-;aYM|IX*H!&GEdp$JdB%vY&@#vnZSPnx*d(Jc`0~jD3;< ze$I*)56fRGIyO=?Br=_QMzu~;o`OsC$GFh#Dt-q_LS3%_GRq_wE^8yo#fXQ;oa#8; z)DWJOVy6G;j_2=kDqgnRdW^2LoATXcX92In?IPk_Ke44Z(C#>>O*1^)Ez+ zrr^raskYC=c$3;m;z{H8RaDq9$h_O1iuR%8b zn)1~~V|L;y!TpACe4b~@l5+?xF3cQ5E5)I=cp+0C_=h)}hCC)Z=K5Koj~#J-n7fc2 zgVibu?P5A+QnuVR8vT?}8#T~44YZwm2NUkE(IeQN10jI$Uyr!`_BPfG-V+S+t-yu>8r-GATo&}wtFe2A>rV^AjT)cFug3MwZDDZkbG>W19!-;Tfk((gb|psNBtIuozQ<4roTwRM!sJ3a(;tW3e9U7ltI#z?FN{TKg46Z>mA-nuEKM#hTDpZ`jlnvF^ zgwT()_dmFfj+!sFnvppY1>Lc!HA{u<*nt~<-2kUjsF6{h+y{@B$zDIt;Z(yN~`9u z(u+gCA<)~7mpWRm;YeeS$WGzetxV6+R@a(%rvo2ULOAdg?fjfJuy}%N@JHj)1jkTp<+Gqf;YIWsV68>IAn4xsNirW6l_Ku$b zo*;}xh|^va>f-#b^>JIzl!R?4Ym;-{O_%pE$t3y$3U^ zEQxm}{q=hjq0bumaX>%@s(HTu02}y& zkY>Dn&9FBUXL!xYvbdie>RsC1#8f@C<&DH^wtE}fc2|kEhAPx52q1GXneg6Be28~} zeWVR<-`!nNNHfuA!^qf-E=BqC_tv?2{{Se+`obP7mYUp=L~DD6s#G8}U=39cpwsQw zw^|FnM!Co3^i-t4#YpciV(#|b&?`sC$vVBpF7nPsF5y}iXuxJC=G=!vyWm9++p~YYy6GL$iTgXbb6D^}pyjgxx}Q z+H~RU8rLi9^54kaEZ4*cY?uN zG*)rTZ6r1@LoL19tV@lv$3YF0Hru{-iqyLz4a|iG;rNGJAR!C1aISoul$tV;gBjNM z;o0z~sw{oTmOIFzBIDOm>v4EmGZMt{ifoL9ZOuvnP%B#W`q2D|6^!eo#Orf#M=N$w z)up}EG2F6StT#;rzMC6~XNl%St+9Vl)Pp0C#)CoB2G2BkhrxYn#1Xg>JANWG*PRcy zxXKnl_Aw$DU~gIOK659?Zlkz`V?Rzxk`SqXm}@~p)SYqm_+5)`JguiKXoq_n6&rhL zKlw*D{{XD^{{ZP`}Pf!Y5g(@$adVRVnI(9VeO-FvEw2e;+R8es=AZJjmP^zKMdM{NnO+eqxJcaIIm@sEbwxSf(_nqr4$*)>rDAsayy zI@Xofpj2y=pZ=qNW?aKR!2CJym&Ck6`;>EkYutq7e2q69$$ndWJUMkVSv%a-#xXYJ zFE8*pn??TsJGF5wt)%kHBC?@n1jq?jKZ9G*;*iHWv?S^|@~(XU08WoNa76c~Xr4E} z=GUB8%Di)wTI6NtabrgyPC<~4Jjz*R?(uUqrTx{eS^~bf2h~>&4yUds)p)*VN}57N zqie5izW&FuOi#c&<{6RLU-N(Fn#0{itCNjc6stl3K6}ph5w$Q4?0kwrRVtWDh z^}88M2UHgC6^P9;vHmIenoe?`3vvAF8%rKPY5sSjAEkiG0Xm(6D*pg4?c8TlxdU?YxYS;``S#WNgZr2BFFE8;`Af!a#4UcM8XWcl^CuQIE9vEs1-QlM zC7yY$mYUqbF$lzNLMl|grS$&*Na;|;k%8A9S)Wp@1@z;pjTrWD@1y!-FRb+$GjY1t zr&kptYb$OfF}8xn`giGiot)Fk-cqpf{{Sb;@jQII>y}#MZ)L$?@_E0Z$4!2amW%TX z*u=Ln*{k9WI_lN1?wCOmdwxZ393-SyCQ7!?6rNTXbkj#M21Yj{B* zaKAoP61|vv{{a0$F`iq-VLY3_IJXYqxf{6`BPFgMF^kGt#88+evc8)+leN5!ZWTci zA>Oq$6zi_*m_D897%h{~`o>FUXf+_I?F3j6VcE{P&rRcchpZ-V`IDvM$A*CI+DU!a z(!>%Ezn3cM3&jvOo2{?>i;{axo%&raGWu3uUg46`G-#E!D^g2yF<-dTs{I~E%)?B% zEp`^+W2bFn^_5Y^^4mctG32pW!v&ue zx3-+_p3-cFUf5l@WtY$rm}=-L>)7hqE{hTq74>fK*IqT%a$eBZGq{$#I-hBZlK?kFaY-E;AWz)I{ExEAgSweVtfP zR36$WW@{pwS!q_5_fiC`=!P-#n3SoMZFFEy{tJ0^I#j6|9;Z?ul|jrMXwK3pA%kSn zda`VmMn`QK?k{jzD| zGb=|z#Hb2E6<~Uryh0+bmwTS?X0-Ne+&9sBF|Eh@tbgw({u7{Be&PPn`>E{z0KPx7 zU;otZFMRufTZU0k3b0oMXin2mMSlA0)`KZFv9)Crax3SOU|4T(2h2WXYW>7*00B0{m!{0!xdKtnA@wQ?-#~J8FNhbg1}r#^BoYsJ45V$_M#Kkbo-;yN2^XN(QP0 zJ?q=3(y*d>NF|z9kZvtTjTP1)%R{^@rHFP1QltY;)#!lS1srKn746(HO&znb_3n2x zXcgS-LJW@E0rcYpfw`zEK=0HI?nUThRy35!&1rWX_C860bcQi?5@|9;a2TTv%0qgd znE;Q7BdF956IJ={7nyr{!g0L5H_P5e$6NUGljAZRYmsAlZzC9o%Gyej*7}z$|D1gYwM;dhxd!mwSiXT4vIq}c2e|_F9=KdYzTseKQc~_tR z0E#>zn8fo{Cy3B#CKpb#O$`&FQllBBOG?rh;SB@?lu- zy4Ln{KFaOA9g>5n#<@f++h0;NAdd~Z2tOWGc{?87`Q^Bcl#8XBIMvnmLej8TAxNda zra@{@jdV5Z=bVY-izU_G-Y;Jj~1z`g1xk#>8*v}oG1>^3MhJak(H{_Jt{yVgRLLT zs1|82^;T=Mf?H+1wIaBU-ZsENad4if4;&1A66GUeq)9{bn8B#flUjT_y@@PDhB5)I zS7?mv+s}t-(y5d6ZuZT}e6h0(2Z&}30%gq^N-Q!&d=d%hnv$fB3l_tBQf9#i?76AN~Bw_ zY`o8heLUGqdyk}qLnQAUU>!fa^->}L+anDHddJJhStBNBoWy@?kMvh~I;=9FWsm}S zcK-lHXMn}t+~u!v?Qtp?C^Tv^gG~>9recgX? zZQE2M>m?=LsDXKL`g>~Ry@}$RfpExhPaB+ZxVo2Yk`hO%p-V_ziIPV(YO!jusp`%n z$r8x6u+-b`t{2pkCT>8PoA{*Kr8hju%8e{mVQt<20J|_v2xg1|3sGtm)XpsKCE8dQ zvs+8mgpHl7sqd)4$uB2)ugiq==M}e2b{*Td2?Z+3g}Z84eVt-vOzc1>^^V_VUrWtoGAgCpgzXh_$4R5Anjj+A+4jWLf<-AJrpHtNX5V_2F&GP)@xM2dfl>^&+*IKv56 zO;}iV5!**r>2TAtHR_m^<6lNJU8w80vb=}qJJrD>N>FsEMmM^Zn{r>54Lj&C&{|C#u-i_I!M7;+ijBbZX!4A4tVRf3177U9_ltvaDiX(Y zxJba;l_S3*&VSa9eg4k_{{ScI*Yi9d`hFk5{{X#I{{Ss7{L|O})$QIps)b+;C@5$? z!KZ%UAG538XLV;5{m)YGXeZsk!UUNjly)9)SW@csSINw^w%10&3TuR%eJjq85b9v{XYYD@hec z@H;A!J~Zi5D%jrimy*)X)$VR#w~pRfV~s8+P3V-&*5i^_uo~ z&NCiR@$WS7Z?>#|5V^*2-yri&Rds{1;J9lpNr&N?J|S;5R@V!MMwDe@!#cIqhU@m|jlvte z?anH)OK?L?G&D3q?#`7Pia4nn{_0bpOOLffn215gUKJ+m4U)$f9j=|9u9R?a%srH8 zb6DMWl#gOV>wy=`=*rH1U|8w6e(r>2BoL>$895H3D8$wh6l&8n*8!N3MT&-%C5Y|RA$5>9ogr4`rSJDqjw%SUW!|V!Z(?;f(!;ijGZ%}H zzmh1!Y>AbD3<+Qq8io|1`#begTbGTA=W4Bu7w}z}*pbhbS!c6f8E{m?NzXCZ{x=Vl z@{f$hWw{m0K-`8NC62$jyT)KlYz53XBY7)bGN};BFx=H;6#8f7#sq8Wd}nq3G?F_W z@N5OX74x^u49B0Z&5U00!k{m3I-C3I$zJ|A44W=-Q{Ka8Z+CVkyI3s}+2{IudCk#T zU|7=S8l;{3kKQ`;701aat})oDVxrpkg|zx>ftF^7Srr;fUd(%Y4GXl(kVf$^YhO|C7VXoIWiVkXT{gN} z$6g1RG-0(Qir&fb4LJ3LL(#p8duwT6K!qf8B229sf}?V1)Trnzr3ek7s7go?L-{MG zD_+9griWYDMQv*(v{r3wlE9ZzJeQ&uiuE6IM>fd>k+bYlSu|j#x^$FoAPS1%swB_| zHpJs`vHhXId+656T!pkCHX~$aNdSi0<|!_sA=qx1N@9v(C;_)Ck^umXI+=T`dg#!>0k1nPwJuU$nLNI*6nU7nu4uLQ%~Xndm4)B zNb1#(WoK63Txw}kPX7Q6EB?PrP)3xiQ%(=!r44i+<@-8vZf{G40g`dF?f8mPwFDAt z-%(DQl@`q=;k1(9w4b=>J9JcCzA705aiWWpK}D@=xYPQ7VXZnFej`L2D7D-ISnEwb z&h@FG`#Nhame1YR^ z_E(7V9y-zF8p=pa?UBZ3FfwE#x44%Hn@ff;?NJ>0#{*;myMF^oK5v$IVV7|Tt%Y7cFCLpDf* z7&K_25YAN-M&$_61LJ_M-psjpdE+o>!417oTvD`N)msnEE4ojQ492lH74PlmiXLSf_Vq^1NU?0i_08d6Bo^XryXx= zWqo6Y#@gW{Hv$kETZu23Ws*r=p{TonG^rgGx+ZRHgU`riP`0on1MRgF3!!>{q{jaM zk?7-LecR-*8u#%ciz4%%yv{omUzqX#08TGjPpG!!dCN0&7edYcZEYllB}M(U9}kQr z^u&l0&dg+sjjwV&+-k2-!s*kwb?Nc>f4rZE-Jk>6MfbkrJ;U;N?(vtND6w#{Q}Zb~ zAr?|8P|ns?&y8D|ok^_)7OV1*I?K%Hc-Y{}FIBu$8{FPiI8JVNWP}}d@981 zxftphMVEjTKd`qYBvQ;-rnQ-yd0>Q6j0Bpp(?jq-cTEhQWNHcFSTmwp_TiLdCr_p?O%fNZP+1rLm@zgw?OZzmWHu%E)AjGMDh!pJjn2rgyLlKQD57 z?DshG9wU_SEO5_VVR#P>j^4@}x%fmkQ`yOu<+)fm@Xh0GGYqlhZLD7LklNgC0GSjo z*dCh0JvXED>`726!xE{|%uf<~jmhC(Ec%BsEY7LaG9fovWMhAzd;k@1xa@tzQ08o; z;r3YEbQ4=L6iY1B{G!s>Tgz~b4aU`pXO^i7N<%NC98jDcW0UAQ5w+BXH(4wJCA&fT9*xYbDk8Kt~ zg2Uzc%-1m9a{MHjj2=Se?d>@=_C6c7x69hWk(6PKj@B=5@WSSJ#BA!sR1)>I`P`_w zR1irVG9*$31(8{R3fo5UYlXe7$Xb9g;e3~MmQYIY-azcQU$&Q!a6Ck9aPnmN71z}I zMqjVZ+}(mBwibI2tO$`>)G{60jU9*}n)OBcrb`4>NR$9{2nFxk+g4K)DJ&h&w3ABv zjIEW4t;Nbi94OCmJ36cu$gzi4xsli`UZ_7H?#H)OKQA+=^3v?bLEEmjqn81$--J?c zJ)6sYF}T1CHc}a&vAV;@`LfzvWUkiYN!~Fmgj&6fmiFWwt+*&=)|BYj&_Wo;n6jjR zkk(zmFC$^C@5Y6Y?jzj_hPcyTuCxCD6Y^jBp?CiPmg7J4k3;;YPyYa&AMW0R=C}Aq z;w%5x?B#CSqO1WYT6QD)d-bJRSD^xCZA%bqQSh(X+wJNNwU6Sd2Kd*-&)f}aegx2v zYu}-;0O)k5;s`aRrJ?v!P#Ej3z3Hth(*t4%qy>ej6q0;&-SAq}cKzK*xgy4xs61%4 zc>x-N4Rk+f(0=c`;nXTaO(?QgplY2d{U=}R>Ohggl@!X_8WY}>{k^oWZlh6RM*&cO zKXZSX_q84}-xNv3dr7>ywZ4Y(%j&G=xbwxdaa{;56&5y@Y#{-6Hsw=Z{YV8U?R`PD z2#pQuF?+f8oqf#V5F ziG=MTS_4kGA69fv=KVfmgLX2&U*pS8+LgWIJG!lRY!zZa9lLd%Dc@whfb6Y8h#P+f?WsZG&kFd;{{Rs? zwl*1ZQh_AWz>5nR5~>L-rHxDJ*dLEu7<&r3o9+aEO=sq3X2&FCNu{(M)UM<_ErO7IpN%4jB)A>A`;A-a{Z>M!%x$N2 zHg`Vdaol=4oOPEE!`a^1Jg~H8>g3VVo6tcpZNTsOmVs&54SLZYwd#8eYlV}RYD`Z-dD-!Wm!sWvl-VQrpd{{YA1f@$S;mHth$PDxso z?1SbV2P4#-Qz|!&!m1N~`}Tu-)_!kTpT?~#n;s2HoL`MFw(v=l&q$XSz>r`;40iU> zl{*A+u@(6%@`f}WXTC|5N1Wt~YB_&Rb6Ht)%XJspb*6iiVlfsOrMR$;vO-o!)mLJA zC@AXXRE?oc16HbZ?bkD#8ap+C0^*Att`rU0T9lR<#JWgU+64vIV=}cA9XIMhAy-X) zC#c0Kut2)iX;dBCnA^6dr?sycuatS%j_TOS#(3SBzsbu!(Q75i0xV^Vvl7w?t}7!V z>dJ?=e!V;8uRuLpuAG_S-G`35*zzt1fk@-WkF%9|U(6o2{HvuHU~RdX1gi5pN8(}F zIeY5xakva`9fIQG6_yNqFnLlm)Gpm^=1^d~Cq4#Vlnw4oriK>*Zr zLDO^E7s*%wg>8Qjy+Lwu)%><%9Pku%ZI`jTyS}uvxDs4rnl!xF7)Jv;PaeY|q8CTE zZNL+^LUbdczAVWaJfHx=<6EDjzK$Ijf``OD7w)Zgkzp4nE<(~^!R zB1=ha7l<P~vPZL$56 z$4Uc9Kb;FBFXilSN~Q6vou4Z4sNk)Z0V z__;C1x zP)m@3azMq(=we+<@t`m^5%KP2(P4ZmB{{X1o z+x$Pn?}JGidO1F0MqjjbDAbszU^FlFaj22t{=Mo&=OSDD zm!koUJ;oODF(b1wMzY>otc^s3NAPp_5=uM%FryjdMNvg8O^C@pqDQJfi`Q zIPM+E@7m%cr_-)$(Mzn8#H~`6Q^|50N_uX@8VXmyeqnla;pMkb#E1wbbD$bt*Eag= z-#%OVp|Ww812*kEN&qB}!+Q#V97ioJj%M15&l0_Me*`j1^6v!H?D+ou2VO|guI3@E zE7)C^ZyhaqmR8)GmhsCtvUrCn8>Cx`)nN+j>d0NHvVJ56pr5#EdNRmDT^i);RLuCY zu#N3-c+i-A!17zzP`f>j{ba-E}HD0+x_3v6v1jVqyx zDlAR0eqnZY9c@j`uY`GY_qOw8xY|i`8wr%(%LkgURhG5&0ID*+SMG|cQJg-4W;%!xihJ&C96-eIx zE>+LZX=Lq(iI$0wW3+2DBHq}dF{ zX6`!-WunxXrFN-zW^J*<8lBR+Q596NG#yy!ojWV3WkZR97nzwMvM!?RcwF)v$*O%z zGaskm8pil*$JmTK4lc9zP+R0VPDK@@izAzw2!+?v zND(&KS{3x+AkdW{SOO-Wf}`m{y$ZmrJsmA;x)ibARgF|$#@jftrmY6o35nu%aP=cqhjYk`fH5XK6WZE{7WACKSD}!M8{gf6s7RcjZ zv$DIg#i++e}4-80%GOE#OKixFT64Vs|u?zR)Cgsji=QZ91twOta4> zLs&Z=13)_ky9HTTglG^O+JHyKuvYJBEH*0>*<6dbStOVrs1ZvPW=cu?B5;HjYwd&YSWIvwhGH1kHh5eBFE!w?jVlJ?UwWE9)0f& z@?TDkeG#^u>Y-a^-8Rqx)G{&#Seddhm8W+Hc+$g|u;gk<3dAB*k+vwcxcd(7L{bm@ zGvvSe<8A)({{ZrCw0|?vzv+$rqxaQ6BdUMYeu4K_|IxKOZ`60ofQXF#*Vvuy6E~1^ zR_9?L#$38>KoNid>U;I`E+5bCw>U?e)3`u4A(Q&6+b8)y(?KRap_&uAC2zD^oGcf< zA99?6$#NWjh5W51pTPYKESt?oKzw_vvr#dm3hxq;f$kR&0r*0j^EpBLuOsj{Q< zBlL_+rX|<672fxR9CeMDMUU1`)%sB;*wk|&?fI2Q; z$Xv40!)P7m?o{tE~>fJ*x z9wWfX5}m+w}Hj^=m zWo6o{T8^&2to~re2|j@ua}yUI0E6RLpXKjCjf#CsCgc58A5G0hKQDfuUhI4|d--RQ zc$bB|bAIwkZ44ae7vu~J&2b0!(OaC0+a=6^jaE99?nhkSU(MfB;pDzPN2H=hQ)@HG zHLxdAmOOb@?ib77OLY(%2dm2}4m(O4eKi}dzgM3%mLeWU?UW5v`aj}Xs>pRJWy;66 zk^3|Us;~2p)hG*}O2nXlS=#>q04-Xn@~_k8`?GQfw4nQH68IbSO!B&U2i)hD9{&Kq z!t=}?T(E%4nd4lN;@|R57VzwE1H*nukmQTUhrF87=HWxL$oCV<`UU`Rb)T62r0J`H ziw8=9@?Rb~Wdyd>c|2QJnE(-f{VN-y{JrQsRWq_1BOpS#ERm6IRV<~6?_g|uHK_{+ z>f`0eE}DBzL*UpamJt)JhZ5zD6|^ZT%_A&x<~=x;a-b3bBn>{^u%G6)tdMy64mFSZ ze-CYKH_E?Gar5#I{$l?CcA9TFd*A1N<@jyJHO9qf;v9b^iJCvm;*%S9 z9#8WN``E87o;p!hpD+hbsm<$dv+6LhbxxlQFvdw63mcLwcU;?rM<3Fi57XJ`y+0}2 zE>zW7)UZ`Qi9oYh6REYYrnLjH9G22N%r^+;D4C;Ms5dJJTXCaBT^bbA1)v!bfQmv3>BX01 zRmO0vfxy(CZ5kNza~LxMj!C_>9oFYfS1t0VjjbV=V@IZEGCNHr%+~_lnGWlCqn1LY z$x72uJL%KpXXCN7FmvOsp5t3Ebo}Nja%Tkg0rk^Qi{-KNCzjsYGO;zoMAIt5^Au2^ zH2(lL%V^thpc{n;bK9ycR(U~;5P9CGlZx2N$IK1uItd{);I_e>EQV4KW~P0P7K z0ZG!8)`Lp*YB-sAy~XPiT$Yz<8W3rh@)styu#@P$NgjD-Dk9O`DI-&^$kc#!?4Z}- z)Y%I)hLvbDMy1K{0jE8GrjZhJ{z2k9UOVItG0QRhPnSW+tUoQxWwG#OF%1&Ma@RPU zi+T2=+Fn}%vO0j|im6%y*F(@c+}@s@I*(4qS+f;v!1iB&w+iRFw@!!Dv7Vot?wG`q zLh-n%rNqBg?=iz^X$99L_Wc{h61D6rip$$GF-@|$L&%CKdA@2PsA2%qPP$h4*XlKL zBJ{)@ZFYAT{{UA?=9lF!KtG2+D7Cv5{{VG6_$oS(oX!f4e@-MctpU03r~ z1Gu3b{>tETX&@hjyuq#8V*obxipm~`^r_W)!<~P`i~H5~L*K78 z!`w+>mA>#Tj!N7CabtU(<#rb~%T$`r9n(c^0yL7k#T-H9XyZfjik2dSUZ|(epHZ`j;pq4dYGM;_ny9SbB5;ka~H9^u-M*I{B(Umfb=&{{Yk3 zJL7$Qwd=>$eL0JN3nVXdB}g7G$~?crv3A%_DtMn9!C1v4Hh4TPQ=jAUc5zJptjh(J zw<1U*GfFDV6LS-(>$k#(*L^k!F);e38skQmQL*&500p!Hx!kO;NoUP0`CT_5JJxqa?Zmwlkl&JadL@F zc~l%UIks-IY0il$6_C$s@bUj~6S3wJv^AO8wdns{!*dJkQJe zo+$Trd7pJ<9KS`_ES(ZZu(qWKzfEb9=H4O9`2ss=`Nl7aa_FpNX)P0xWcl88Z5_9Y z+kR=tuHGN-8nhs5+pIj#PkQ^Q1RY1!DKJ(nH*Yp4LPf#jVOn_IbJ5sB_}vANkz-;9 z#@uQq`-1SVjyyNvPcV6M`^O$Gj!qNf{!7SWk_!y@yuHj@Vs34?^`*N@m|gdmxvPjR z;2Krr3)Kj|U;3(9;f_yM5gSOi0Xc33t#QX~!1mE)^>?SlGc-L6iFS~uc(u<0M|Cnh zJKINsy`Ot*@h%_E*ZvsdSu9Tq#Qy+^Gkm68b1A2W>}c+4zuU1<8b+!-xav_w%X+3T{SU5#ioDD$@BEKDWqm#kjYYIkGJb zB&-v%HPy2v2FHo2M2f(WpdD$iSk1Vu$3Mg;OY*4VF%ojpJgQAr+;>a@*u>V7QNTa-?OtKTC969=8us$H?llVYzt1OC5=g zj+b?B#EeK57PlMnt}CzS=Jc};MkX502IA;=umko^mNwuy(}&=1Dtlt{(qbg>gq||H ztXB7zAfg4@N_~Iu z5up_A)?lPMmDR23B z1R9o8{(Mf_n$UD_{jut?mD%bT&A+KpZ(ekk@Q#$=cJHL_UmqRfqGkQRc$Y9OVx9;^ z<@Yq&E$(9xT*g*Blx$pcL^3~#wZJ-}|;X-;xZx_&xAg#@ugtT z&&5}`(P3e)Zted7`~sbQanhiY@#17}vDC;l9Pe!^JAa1!Q~vc9E7)8F)O^_T9i|I_Q*%Z+1QP_31&wC@B}B7;Vv)|KtnKGprvQVni2 zbi898RFjUf`A7U(JwVgqKK`D|`=X>|zY#%al1bTuGnd=y%F4egijY3esmTf#U?s7)3ya(CtxO)B zmz0epSgy-`2vXcQoiA;4qaPL~4=sg-?CtEX(g%{&rwI&%$!#M>{{YNT!a%1&YIXSZ z*yx*ViZtg_&cl}uc8?($Ca^nCXKktMPB~)M=hMg9JCF~{YK>p86;&hyt#sT9{(Dd5zuF{{R6LQM`oc z2UlRh$jNn%99J%Xsz=gjPdqWJG?OS*?IO8N{Zl_$pA~sCj^Mll?W2a==JEFaO5#32 z=RE%anB#1%c;<7D_=`Vh&8)b!j}>Qo?3O2y^6XYQZcXbzlG?`6`c3K`y(B)9SSQ38 z^6qj0dNGC0H*8)?INkV;HJ3M5Sr$=_0E{qOk!zFLT;h9y_g&^sJ@V|2JM!m{IUhOY zcShwSzs+AfkYnJxmP@OPEDky|6^08MC6na0v`C{=prNN-RC8lu<1`qNDk$JSqE8Zg zYd9BUx?&mce$n*R&HGABZKvte;g26-*%K}9i_Tg6S2n%3UAK2!YZ0Hho0Z#5G8K{G zpNnyrY#5dxMR4P>r(ZVuzIm6`9;?rskhpm2P~Tgy5ylUB+{}B{{6%{|rO^*V=y-@h zGs;7Dg$13DyK1lft8g_W{P|}Qw2s_H64h2HA&NM{tT96nhTbUS`9Y0UQ~&@fDc6VO zWe^ktxL=9Zy+0i+?d%@^0Bu*6R~;3-^r433c5NTDi(OfyZ9PrHQKx-6U`q>{=;Dsz z>tH~p-!Y14Bza)pv6wQ;3l)+o>XHXqJ2FrZLGC)XlL(ax9~Jc-wPeDMtL71L&X%}e zHgi5LV-7y{;_~v&6a1;+mRFUdi~;jT&p_0rbfo}2y0UR_^Cl7kRrvgV%9CUaQif>v zF1p(Mv?i7IzT=?umM^R}N~peqDzt8-v&y@}Z9?)8O-JIP2deGUCfrT$uWeb2E2nM^ zG`qC#rvnx4HxYGf5`J+RmMEl*vrLi7S~E{jpeK3)XvaXkR-dQO9>U4tCf6K2^Nt*sL8B_cGNq=o%BVBJ9ktx#G=R0mKtq3`&*XT}IONWdQIt0Jg& z5u2J$wbvo!nFucOvcJ;WyS=tLCME^myC$CLm>@Em78PFS;a;n@RB^>5OQ^liZk&g= zokBRsnPivo4pky}hA>!LMLe;A>BL=v#!Qakw09z)C(J3J>mo)M4Q&b1p(pV-0B8r8 zb5|G-4|0BU9lKpW3FJI$lw8>#nKGCdGEiW-Mk&yplSP!`nfvHSB80FcRCV5ZA;v&Z5qm9d^b59o8VmJr99zT%tX9)TTEU=zK#9HCu@}C-fe#>c>Jl96b%bsFZ6<24P zNODmMv6gZ2in%>67ci`le+EOL{o8@r$RDnqa-?4}`h~T0ec>O}+w}1F37f<5P9f&r zA;-CKs1|!?0SYq&81@-0TF4ofpbCtA=z2-Gj9&!*Np;;xf2kH_w4k*;2 z1Z&nqMPLiTYmV#uD%!T=q0)&jJXsVK-GIlY&_e$JnA@jn4F{!09sb^g7A6PyL)btR zQp9+R>D$0kQ8*o)?m`Srjwcm+lDU+@Z;iEr%6r-8+R_MPf;BTdr6Vj7m7vqNRE~d3 zj%CJq;aSPBLQ`=kkQce4`FR2_G$fu^Zr0oJwT&V37z`9YP>*ARX(D+emfb~@TqM!C zSz>sA-m;^OrF()Xb?Q)cE|omeMGj04Dlt}2=vXk~w%vP)rnV z{{WCZGyeehpGp4!cK-nVO7frm;Di2yH~Z23%Ky~tZymB z;Z3bqfGR9Tw9I)2C&jXSN0VRX=ZP`4ze(v_a*L#cfhSF(*JGjV)9J43(!b3yb1`JZ$cbR_GaG=w3*Pr20qx={ zvbk64x9s2AcMHD85%ihU)_foVF<+&Owal8$o+gT)%X=PN^ zVsdt!Ur+i|tmmXm@p&-ZTYc5E<`meP!S$!8FeU4GY%+w>5H(f=Uc%aok9Bj0?_>3u z_igT*D|>{&a;xtK_>pc{W4w3cY^ByZ=IY%Um0Onb`%`J0+rob5?zb7dCAKIF-0xnu z^8Wz-DqMp%;KhxVE!#T>KLDG3^=bZM#mjkM^2`{{l1Ri?a0hY+pbA5)H7W&ZU%RiJ zw*(9bzP0O+$+g)Ocx)=aGgk6JeQ_1sL1@B4;5a}=v9{*aG5fw+ccJRi{t;aUF}b?w zroHr=yTysEW>WFbsWyUy*b3#4Qn zRhUt>6(lt)QTO#Fb&ZvYu?I?a)LWGlN5ZXd7w3S>uod|a$+vOt89=K8p#gRH^(N|4 zZ!Ct1960ijtr?-1E&=G|rQ3Hr7V@EWGeZ>9BS^|*j^08j7DrLJO0`eJvFNh(c9H@N zC|GH6a4pMD(Lh{SqM6xCA8*-D=N;o0Ht{4OL)*q&7ci>1-Cetz)F(;<_LHyKOi89` zRqiTfZBG6d0SqY7_7!__?eeKK6CxyVspv{_eiBM%;+SZE<^7%`7a;FMUq5MAJ^V2yZRq zk!Qx_Qt1ko-idMwur;s9%mqi-dS$%xlEu zE+I{2mf9yqsSvvEj1R&pJ_DjF2_aC8sEs7C$YKhmj=|Tu{HXbp=ub<*`5#<-uIc?| zKQOoE3dS-N9c;!x!PR&V!`^Gfer9~S^`EL_8GexYnbf*IN0t}LMsLfpAGNhvSy+xX z-P}12u5Z6)B`pCe`EPIu(%?gh^AS6pY4&6jJQQFX@F?$&!-4pD)gJe>EoIeZPo z;$o1gOPGp%TapFnD2ge!EhOv?+ z0hZ$6^B*dG5%a6%->R{?hg|jK9egtz%*)?U(8& z;LF}K1U6Z0=N7ulajQtO+~bJy438$T&vIK(Qhra0hUU)SC&sa6Nj+%oZtX56*(apu zLfw8}e7N}~=sts!>I@H1dLyev)+dRepE7ydDhZK^B5Y{^1zFIBR;_2>TpsAYrYxc41Mg5Yc5Zf z-$nV(XhhXMmNOpkxS$sa@YTfhWV11sEktX?jxF~Orn6=1xaw46mv#6pzO(dKCjRrk zP!Dl_@i`UD+~bw;-V?$>jj;Y5@m00&9`W`s>A)@ZYjuBpn&kJO{LgWaxR$R%i5Spz z7##D;t%L-C`1b zM9zp|iX>6KSwn?TrBCr1v7i+_Zb>T@D(hk@xQuz84~Mp+-zMaDdHd^}b|ym}Cel@f zq}uV`T@r!imS!7SQ+H^T1YeC$Skt_dH~c%=E`9Z-7B0;vQNH&E{JSW(Cc-Qf7V$d9 zZ6p*5C=l;fEbK)~GaunPQ@25!G*O0AsH+GqBY-ru>qUg#hZo1Vc-~Bn_FCfMO4NFi z-prweN}rV$njJpgp@{zg@PSJHCT94Pr@Eq1j#Q8PAPaZ#q#g844D#BABk76QO3}S0 z0oP5$s_k>8w5M5ft1p=w4mD(P;m)R)>FMT+FA{sG;Kwl}R`?!If&TzUc`J*V1Xi|J zT$1ME{{S73o77;6gC{f*GiX(0-SF$rJ%7=ktaLopjZ4prqD0g21<{aqki`3|vGk8v z9XqIEtgUQ$i4Wav7wN96Igb=@REmvh`zhDT6Gri! z!aoT=57%D&7&WYT0ad-_jwdCyMp+>Yf3&9a4vJ+eZPE ze8B)>33NJ&SHD1y_K)n7aYQwQSbs)EDz6{Rs&roEn3rOqw{NWhJyvpA!jYxTI5wpP zmMH@Ij}p|Ck$y&_P|^1aQlY3m+VsJ!2)7!Z?mAP4i?j@>>iU~iDu{q2E82|hKuKTU zUa2u6>27rp7RK#kOT2Ve?ySVCtVX7hm5G^^cZL!W?%y!bQGPv1B2#G(;s&628aBcs zUS91`5qActszeua0a2+m3!yZj>dwCU%+8x+Z5aGUsUP)L_W=hjk-{2g@ygq zUNrF*zP*&P;C!<)hsjw@jLF_x&21=nnj5DGV_MN!3j}EO)}Vq0y;;M{ZRHe$4Xi=u zN=TJ~Z`!GMgYvct{x*-4;^g|dw2tx%)wjpXGY}NsB$oF-NxYxNfW=q@ra~884fNKHztch?O=3Sv9 z5kwLt?QwB2x^x08U0VJoI`#U*TJoyu4%CkS=92bxt&ffktShxJ5dsAsMJ2On| zl9npS?Gf6FQHrrcw$ts(TCew`A&8@R(mUCh;2n{**$Mjntg>*-9nM9Mad*< z>QsCOQ=Ue0cMDpLg&c5#?m%P1_0va(RYY*87E?3Hyc4-<%fEX7+M0n)b?Z7HNo(<| zvMF@%+V$>AXs5M%NZ3@%^Ee79Q0R*r9XC_su9Via>E&JO6a#vU0#FH%`@1PEcPG)? zCMIAN>@V)7w%=CuEb!>gWL*mMIMz<3=R(306r+krwCdqb#c%1#iMd5!^;&%;Xq) zi6yntK(8BZWqS)dNC^%pv6gsRj5Sg^q^qofmf(}8Z^n)0AyQWV0B^dw#{Dln=wZFf zc-kKfc^5HZZ|6P-h-fULypbTd@)sJ%M550-k25%H{Ps51Etx2z1?mOBU5?v+c=hk1 z{{WWdNz^c7w@j3ir~T8P*+129*&~MnYuNoI>L$#_7`c;w$3~!O`#^K=Jc$(gdAG)Q z47Z4oNU0@djgx6sCG}Q_{Ockxr9}gN+V$fy$1W>@DvgBluS>_sQbD=gZF;ZEydB;j zDS2;k69~zXP_R2TpTfUA6rSRzUWqfTnwxF4tE9(~9PvBH(?e~oS5ZyJ zLr_qXNE#pV&^BEM3b-qq}qL%7DPvD7FmTCG7!tqes&5=MaP4@jdmxm1GYB6>sP`wwq>%8=TrKa^4Q-C~H z>F7asBI3jLef%qg^=GJ;qu{IUC8rXTu8+3FFcIL{^ws)#|mR($Bz)SNB~jT2LbS}n{sj_%*c}}Voa_{ zKGVjDGOh%2ZT=Pr$5Kq2D8QQbRHc6N_jJ@6QQ!+lZM=|a5|H)O=qcEiUj18$7h8dI zLOe|*^H%o)rxS!eM_WgBECNgimg9=|^xj9T!)}Ev{7Dd9Fdzz9!+R;2> zrjo`hsHa-kxeoEQkAxqERGJxNb#kk`exCmTZEXC_f8#TMvi|_~x;N$rYW!*Kk^UO} zHUHP5e{nwPe829Goo76$=5B42=G@zo%(LXOIa#V>w~P~IjK$l;7S|Vr#>XjJTPt*m z+7%Q<8rRk$F~I`kV#Fhaavb~5e{Ff}{$!Gub}cdDPcH7ud#WB}^3sUeqbe74$fz4@ zg%wir1yfa{ZtiRQk5MEJHFp{YRbbzS#9x&r`32j{Z-HIkGqlcGH$6%kGp^vM017`2 zplM#JWW0(IcAFFKqvN2AIVSJeJ2_GHwd-2p{;G1QXA&DJ7(C24YxjKw6=zDDFv*onad%){)#mOwT$F4F47RlZi}Ew zD(zBRV;ZjEQLdU(p{q$Gx4GJWs)UDXGY&Kpn<$ejjDpHBCERG1K8$13Ym;*_q)@0e zGBBCIKsBonItNoL=cdErRkg=4Ld3JhA(4nuZ?DrvSR6$0atw|)A!Bfj#O2L5GP0Bi zWWw8VVKZ_IJM@s!3y2N7Ktmm7bx~Fz5#!_)jigl36yIA~o^f@IgR5HJ!_Jb@+A^TJ zoRyO$HO4}9+^l1s{!?{4M8+rtGE8VIqSH+}sL0-0&3_AW=dBthyCOH^A5VP?;vCDC zc-NQl?sdWQ_q=PCacrHoYma6za~N_M+>Ns~$s!;S@XCdwks7g06Ed)6VmhOljTTf5 z1knj0eHl*zI3J^j3bz(S*qKq}kpTCJvARUq`~KOun8;s zaSltjQpyMIaphjk>7Q0XpRyd++0>1^C-Aknklnx4?AG+@`J=;guJC)zFTuTjFzT}rLNKc%WQ-f@ZT*&1tRRIDE$*tH`? z8-WbMt@}Emxmehp4+`D$Hz+at=%(WVzjJLdzo^szsZ?M^LvEl|Abr0LI<&yLf`nLA zGo5D&%cb?AnQ_pEXx#yKD>_J7N{}iJ+Gyu@!@tCInj%0b-XE@|`LP=UA98aPYl@cE zz%-XWnyOIHHmnI&+anN8(m^$*?K+3$WR-=jxKU-zUn!a{JSsnXg7<^M{4ayP^rnL; z$|tvyJYEV3Yjq^FD;)B$2hq0QMlSTw8dT}mY3YANXZ5+`HXoEfiH`w(UHtf0BkC_w z^!|$+jg^snoxTJI#NTin$*zAqq2)eX<_=qs<{ZZ%CFVl#h~k9{Ev<#30${SUg_*q= zBNeSRbE|54`eUN>Y%Ya@m^dkD#}mx^O?>IrI?iWY&1~Gp@oTktDDEE0XzxR`=qvKc zB0`&o%-h&U@ULRu*Vc@e&;g}q1AlF5%`yh`5bg@q4O;Fct5)yx5ZyB-&@Mbw^sdDr z76=FwFo559p&)_{KK}r}tGH~cjkwx|MU9OYQmk&WWt46PTL2Sp3AFfg}J)8qoYlQB@0jQXrM!tXTcvRe2k_9Bq8ziy5%ix_(xeUU zS7QZc_z;nTwC)J_bSYh!5CyI(+)RrbAbW}-%TMcmMlK{DPj78?EUZgaV*&OBO%;7w z5Id95-L{Cs>u=MIJSumVBTH5peBrsVgvPSOf;2=%a97e$eIv6#qLiqqrnNn~9GOAT z1yg=T-IZljD6ru`tR-@a(d=m%33g&hlAtXHotC1S*G`f>)B?Uf+D3^4uMOSIDiSwm z0PZBOW4cPzJ!&t5@2U%!A@2A78ocr!Oe;r2|LM5aWLt~%iHW+NT z9msn2&&{$Hc|5K2+f0|7pB!$+N9vyX;0f+=^4*VF(N4*35n0O=T4&Rm?G(pt)s5$P497D2s~ACXjnyZ~wO6eF&M1X5${f5Xaz01g~} zI!9jH!?>(62_l!}jJCy*NC#@ntN1h(Qgk5w$E=B>C{ETJc^V>;T}h%@qn_4iDU!sa<6bYS9GrbY~n8vu8I2^w?_ppe>z_SKQ01RX~M+22-U;Gfl-&t5IZW4LFP z{+rF50~u!)KGF_A;@6tutnGkEmdBUH4A)s7r$I$bf?QQV8`hQU&3#Mq>!9_oG4a&m zXA;D^F6Cl*GL`^qsUTNr(YtBbm?e zd-(v8d`~98UP%lRvX_x#%V3iwZ!BS&f!ouseWSNtKb`Wk)Yy%DSmB-(=BxoDw`sMn z*>h_2ybqXN3SfyQM3ELhw1-c4y4&Ge@}Ba&yBOu3$IBc_SO}sZ+L@xac_hm-BvO4oIcGofqq< zP2}&?3zX-r}- zTUem{KOGHmy-(&wOrhiHSiVuUgp7PvJ%dqDBQc-Ma(tc6UptY!%H(e(^{2YLmF1R3 zsUQ;7rqFZ?K%=myUYCiD1}sY!JW7!PV4zrO_V?GC?Mm0E5DhRkV8e|NeIiLF#|2oi+Qd;o1QAi8 z1LM?6_EIOAp`MJ78%HYbF{w4s0yPyUQB8EysVXVa{{RmXAdMW;tZchR`cX;jMI3-l4G29R+jPA`_tw^;uUcRC zAO8S&-{k43SO3xE!zFtY$!|Pzn2otcX;dI)hHapzW&!>{G@!1Uecp{eO_J!gHOwR- zS8HlMsuPl)31EV2cHI-wGR4BQ#cS&@T7D8~Q(E@}0Cw8Hx2jo3YN)@4^<_rVKpq=?G>yK@i=ej1juj5i zlpV}LUz7ntYNu^z1vKie^B}h4VN#=e7bIK6RguZA#icZ1P{cQN6|ZmEr&l7lMA~Uq zsg*x6CASjl$QhQpDGX|$A5GY=z#i1;oy$s5MTIz}wWEZ!RxCmQuTVa9I;yEs!nF^s zpXKXLAQeT&iiWIOMgaJ2Ni4{Z)^sIUJTf^71Yv+eNm{KO0DjT?`pV7-9Je7v?4<5f zAvCi1{?_VgrAux(c@2zm$t=lj43}nKP7ySX=v(h3g-QyNXA4T7Z^doq;u=_;%}Zd-;3G($*ci_6iLo?wCUq%S4qnVlFk~RQ1^!AeJQ&Oy~cQ<2B#=U3A+nvbmse%rpg(hxb zf5o-y^KGHpR01kO(3*bJ-=S-L4z(=~jlznZS!$k%N-=nA?Sn;SGbsQ@{RT7ICtB~r_b|4b9D77IL zqxPPjn_G8L&4Cdk8nI}x8B2R?WUz;09x7+N=5>>1LdmxO+IQGP<{PhDH7}jbu{&|;uT3lift-t zD%8{h0|o`E!}`xqD6${nEv?4-QlhJvN;=9E0H%VZ6Gx>x>J2^=>83>tfkm%Ob<($7 z#2ajbZ8oVi6h9DKa*b>D^cf;C_}o;K7ht1^A4MDC{{WMBZ*GF0QD^CuHLI6WLl5l` z)%bO46;PYc6V9UKY&RDIvx%D-osM7v$25i~O;vaP6S=6=-CFkOh!s3hsMdn+uA<{w zSl{hitCPI9s#cm0n3PtjH2{x*1NU@iD$ELtcF^dHWMB86(J%XMp-R91(&R?=dvs|n ziE$z$b_z-PK5{-%yTENvU^NsycJCtXk~wXGVZjZ0VU*Ijy)EY2MnydeAOs|(4cj^P<&{#&UGuAs6wY7n3hNC4|f8vVUk zNXTH<(uNxD%e3jvl-6xaWe)BYik2Yn+$abe8$?z;k6LI+=TMWv0bLE~r!@}Xhib}9 z6Q`zjt$k0F5ww0PgHc0GKW|y{Mhli@0a)1f3TWiBZDL70J=BfO@#|bqk#F&s>8~fn zah!fX7R_^cCFo3|V(g^N3s$&u=|D1)N)Z-;cF=a~A#u?&W-9kpxEA53WnA-jV=9;N zlYSQX+Li3&TSl$8uEG?sQa~+Tqi@<9T8$6v>qbptg^v-!hu=y2>vOQwss^vhtGG3E zP(><8rj#94kQ;_P=!qZ;V@Ww=7LquUps}bC*S?@B18o$MQgr(|8tw)4(9$Sm@o8$& zJhqo9EV3%xOIF&#sVb7R4eKI@Dz)r-9FZ)V{?~04S8A&EQfB2LMP`a?gxa7|REkl% z$o`;2dEX(T9_h&OKuL* zX8_bx#)?!{yNF`nF(0$0*nk^-G}k?}9WBvZekWRzOw4FNs|~UItGL(WUZ4HJ=$Tm*k?7cC z?S_Pc*SRR=E2v#ec4Yp}iA~#HS-^dLz$s7^wt|P|1pK2@uSsGuFbi!B>8S1_{&Gk_ zyNFOl2?YK0*HcsR>daSXVCMGWOjs?iM-#wVV$X;o1cXmH*18_)Sj9dB6blC@qb6wRdfA;ad9jd#g)KCKoLbiP@||al0gSbZeoksJxKrtg1bQ#pcJoa z_B(t1{W%u~rg&*bIO}?qVsua_)gT?9ldVUNh=SDmjy>|#3_RjBxaz%o*ULUd|V_H=wuZseYID&H7olht|+ z(g9KpYf6FhfB~WYzK)Kp%oS`!HPN&L6H1Ry)`1F%6+(d2pixaimZ{YD(_gpY)1!wM z0;&LL>MARt6|GvQPTKz3btX{2f;F`fUcld4@^tlLBn2e_P&FE`(xYex z_kTx73o5T=IMPfdLt-{1PQO`erM@2THP z_Uo*YxtRX|9KO+7;Pt+vAL{=Af3x|XmhJmDuczx*UEZZPSMTX-{4Zq`){MO?2JO}L zlD?&OS6c0-#=ZXT-823#bu?e?Pi3nMZN8uK_E&Rk+g;2ZR&dI_$%s3{fd7N+osBQ`2CvoZyU?=^!#?J#@5!9@^0Du+Io~qcipz8y|ml6 z?Ee5(on2q{jX+EJuUlpHzMVdrw6F8_SJT;6uJ2P{Q?+TY+tlRqY`eb?DzQlH{eLOC zudC@+-`DiNy!wBvhw~3h_-p;%?}pm-pP6qYUxx8gOK)Aj?X|btLnHp`A4mI-O*VcV zo}E5jwE4I0r+<&#&?DL9rE>wm}eQ&8z?`7Sz@^uIUE`rnIpspw+qyLbNpgWKcOW&Z$Z z)ZF{%eWvfHlVvGETJ8HjdTsf3?d{QVxHqCO3jo(W@(|WtUtK{9k@aYjr~W%O&D*H7 p^=rHF5AQd8y}C!u*&V;yTwaPl+8R=Pzy25h0DG&S#qO!s|JlfWkCp%c diff --git a/docs/images/eldon-chung.png b/docs/images/eldon-chung.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b62a59f104731df02eed7aee28ffdfa25cdcf6 GIT binary patch literal 100779 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
Q0F^J$vqIaQN; z*R^fimQs?6s+Qb@SlJBkK3!8hmYQ!qNJ4Ea%BfYFB$-< z0jh`~6CMoJl{bY3CT3ZsQu_!|3S3-VBd}Gr3OQ2%V)tJ%3dIA((Y}N;y;p{Q;n;n} z974Z+kab}2-ksz6iKR#-iF(2k=gadKAOHMk7q4H5h$0AqDVRuLuUbS@kro}l|LEj& z)g*3AnVU8&7S4sP8=9`;rd34%Ak#|dZkjI6yE0DOH*ZRcYbXe&GD?mXB_@dzlwH&e zNfNhRyIi94g5_3uKUBT5tE4*JG1yMegYb-+1qbKWvT{&U-RX z;J`QNgZFN^8tlXOzkmIspMG-w`DXmhE`GF4M^8???*L}Y1(+IQhY+#~7>Z(4Es=d= zZRY+&W44%0v!EJ?3VMvek+ELs24<4-g9i^zPEO`|E~WhK-~R3Y=70Mg$687YA3`?!9%6bJH~JgKA+H9y~am=R^d+WQqWkv$(IqLcS^wy=#*0 z_;p`8fA@!=_xt_(W6}Hf?Y+OOMrS?XBh5r~%2Qw`BB60QyUqIY>hkp`Kl`~ug5V@2 zHB>3gtZZ2gfDGj6$>Q;eQIBSlSm&p3N9zQ7eTV ztd5r#zx+*OU?!x}4t?K*IM0$xT@?rz4NsV+DqE1tp>BNKsI)Ivnbgi~s~SAPmZCc%Ju-H8t@)sBJ_|?JZSG%aUo%oyjbDva|@tvm+-hFuNbi)l~*=NPmGrIG8bVt&)5tL0$>V`yLsA^pG3s4v>gLA-WaMN|Gqt)5b(b3W)WixbD zp{q6T@%((dPupi5z4QL#_kZy1&b3Bd4iO?m#Hu+UCSqnjet7b|AARqaKmBy``S!(| zt5~3Aup|JE*aQI`Fp&$b%~_kG6|$T?8hIx3X2sA52oM8gAtKSpKvGx~+r}F)2m$qN zhPJc@Ii+!msgwjIJ$(8&_%4kJ0E%eWb;UJtnx|<(RUnd@NDJ0AO^t$|F0s@iv5K!*%*KYC_oTucZZm@YyKiiT`tE_hXCr26z% z{MR7{O_bQ187LBZcekrFu&)~@ftr0OJM`{C{L-5K{@Szp@9ys1uRX*S+;x{{3Z@34 zS{92%DJ8~z-41{9iNG0c?!i)Gl)D$#PXVp)*b85AOyil}PG4qLxG zUJgUok~1?xS0GiChLo7+^6BSS9p}eKi*NtlAFrN0CR4S50Rccs$fRaYhqenTA^7({ z`t}dM|LG@J|LMiWo6C#M@oIQIq5IaizWei!&(oClF==SYXnV8HT2zW7 z4#BVYJJqU%#i}I8BIL+WneqA4$ID^0-rVGAe*EC!cANlU)%MwF5=X2pGrwuiV3(mYLZ+~ z6~uuDAK3RN$Ng&PyAD)El0jj0Rx()>E}z_Ne)Zzj!>)P$;OV>H`7ThKOj<{v{(x0Q zhs_XufPG|i#W(HQ$v6M#kAMFkUjDmRpa1+CgZ8k5`OfSjMzFeefXe#*~t> zu{!4{gn$NQpa}aMYZsrzI>rVO)R?(CE&!30q%s+(@|0`mq=@M5p7^@}=R-!fbN97L z_Y-aIv+VBPZlVK{;|m2Veqn_51^WHrhPE#aN*nLC^BiMbEEdT0(|`Q=FMs-zl;-!o z^P?%r%h%`ZoryAYQ6ZvavvUoKvd(RHO4yT1tL}Urv*79CfdfEu#jt<{KryblDpFL* z2u%^d7`syYP(u?_0ir;@2`NQSfdHGXYZuF|8vwL`kxH=w5{=Cl${GLhKmQu$?S~J} z-ur{^ojiNrXChAk%2->^>f-iIGsJOXcAk8z{QO%_fAp8%|K$Ji>a$ON^ZK3Vi;o`V zk^(dchEm&OL;zsa)?3qK)DR8~awKvb2oOO1AxEG>!&wEu5(3Ovh9+dtDC~g8akDr+ z{^0k1@7-_z!T;(1@P8~h151x*@ zeaxk6{Bn8Ja#K=n7Ciu90VPRhfgIizj$AQggbpmn#Ema09YTl@0a3A_Q9Y0hfKail zY6#BmM;!w~O;)_Ka~$Y9Y&D_VzR=Ns0X}xiVZ76l)+77XU->1rW5u~wk)o=_InCo7 zV+I??G+v&+S)Z>TJ%0b)kG}i&|M=4)7U#*c!^2`iAcIh#xW}oKN-iGisKA7ij=-VcE&j_+|U!Z#Vl8g3GFoi8vKO zc9svU+WN;@!M~CcF#{2j>xO=cbIA$&MgZtQ7rz_lnA*0Tx6{zH5GYA0DF*UL}5$aWOCS54LprfTixza+8yN_YRY{3gBk z6Z{$#|Gh4MrQY?fAL?#YDg)i7#*S+mRy3bBswohW|nUK{1()?%i=UpKzqq*h)_2~${`IeT7upUmWXYs}QsMlBCP2j8q89Xyb1tP6=Nc_p zP3lOm=@u?{A0TTM@RAiF&+`tXWKkE6F7o`>Kl#~dvwP=c`Qab@=;5O$h=`2`qLd4D z#EMX}g4E26U2r@rqU(l%8++jY_+S6&=O2Ik$(!@P`5*rt|Kx|?diq#&0x*Pxz=kBq z2z>iXuLQ(30Lbp z-i&SA8_<3hMu|Da7@MZ)`(d6Z0&vVk#EdEB>f2>z_6<2ljsVq$W}VYx-=;Z|cY*+5 z36#MaA_GXMA{xABt#>MNEd^DHsHh?n0hh^jfXP58Ad(E6q7m~F9Gs;UvPLd+?b;+RU z9lMG9F+I0lLn(TPM>sn={^my?%_(gzuFAN(xw%0^ zjoCGhyKWsv6cp1%)75Fbfo8 zp1ZH^i*DfysH&>@ek#pZmCL_v-Sj(lP ze`sU+^KU&u8Nc~Qe|q%r#7xk2MKO3PW<-vdO-&JyfgBQXAtr1jXG28;=fijY{4cJq z*W<+-K6B&si=SLwFOE-_r^jc<$9>-$nXp42P(}q(R86Ev$|;XINt{wjDdoA8 zA|j;3EWK|ZF515D4Z09$nkLCorh&)p+36xnQO9{KHJY*B%gih}iDNBtcVVe&6IxJh znr2+@OvJ5*55E1KVR5u%7pJ-FkJuqAQw=v~Rx?$Nl5@^6r#>90=c$xrQV0ap5V-by zV2&6~io~IJUB5E3wh>qEt&YAHJyNH8_o=q`u}#0NVgIUrugaY&5bExi-Ce^~TB|Am z0GOJVW6Y3KoF?CNahf9(7uuW(BKpQv#tR4lnmstYlNi>=-qdY21gV30+6*$pxd#VHuiUG)>cf zy^oh~uC70OasBzLo10G;js5Yr-*e-BeDnG0`8PlM{_nFRr=mH9BFnkAC=PfBx}b|9_C=o6iP6oXys3rrn!Q-sBjINwy+d?+ZX= zJ6)$V3hiK@<_klohpUXq*dRS)456g)Nsy(`+qZE?bmR zgS8FppdzIMHUtz1*^w`np1%7|jqrZ{{(Gyl2TvbAkK@$0Ls4ZZix4~qGb11Z5W=N% zU1*#k1J-(yJz*{}&W-bUo6mrUlrtiNmie&FH*vo`g7)yziR4=b(-)>x_mAnFSMDoG zBWzY~VPklIk9rT1LwB`#&1ZKmlni3hwZntc2cPw?mwn?nwEa-5%AW<)7`z}#E)H?o z^|AU47#qeGsd&?pr#LmOKkZxJSjsQfpMH8RRDcv4^FhGXd^5+Sq$ZA&Ds)a}iMl?^_Y0&>gSB%a<=H%SpG0<7Un&8wxU;$t|kG zM7gQ6bZbHvb4t^^I9+__4}Q4$&Fjn0U#g>~>zc0H#mU&UeN(fYs34$$T2e6tN6r~K zBmqNY1+iQja(-B%T4mLPVYTK9*sV$*lo2Z<*S_HGv@hMGi2SA7@h%_ncbJy$vY>A_ z_|*+}*nieNR{c8n^wHJv%m$Fl-m?YQJbd)*`McMpq&cOB$EOZmDls@`CRqhk+qQf8 z$xj_|&P!B-g1{(*glwp)nqx9WQwa?{J8r=mQ9$I9$6QJQm()_s2%v^qyGue>un*p( zC>V6y`c(@jo>9=isg(>e&y$sDJ8#aV#MR?>j-I>|O?uZk>Hw5WDie|~0YwqZbYuI` zrK~xNWYR1pAtNK3fOEmYJ{Al|Pr`mg)Djbht;LqW6B@H~+^DK!2cC-xQc=W`L9EO< znu?X;6-7l6(TJFoAlvO4g(+}bU7dZun6{f>jv9<8q7xvi7Q=e?aP7DqapjAvs#*jS zKL?J=oEe(kXD;FWkh@!Z+}D(qU%E|yTSfaja3*%|px@sP-2Ow6 zoL?TDELO`o#W77u(&DJUz8rzjagZz`)R>#b4I-wfU=9^?&K^3EELMPFmdH|EE^!Vy zd)H<}Rw;zqHjK>ZS|VBuR0O<2KG2-SGT_ z@3)I%M0CW5EDnI8MW&5&jvUM8M&=o;W&~KB3o=py5mbj1LeQhtGC!Zk?f&LGMB=3H^SMG3ZzBu)?FNvPM zy0ZV;1A2%yxr2`B?QQ*)3mBnh6Jy=iAD^By!vdIlbSJB$v$NCf_02TRVAY22LaoqB z-p^AhLfs+t0tL*J9BVF`Bao1@2%%&p$Et;iq8VUf&Mq`nrRs?RfLuUC1qA>{tXZ>` zq%#weK;DmP$#RbKO}xH}H(Ojhe)RlCqsbu) z)f5lwJ@DQ)tE2wtRHv);^-CQ0!PMAcAA}Id*R32IX(^~Gx4&tOTnt$i$$^@f0$?h| zA=eZEB4+1`BrqdD5p8@ZCHtZ49owFX+2St$mDX2a3)yWji% zQQNAd2M>={!{WiwnTQZN$DtT>p=GQtB?Yy?1x8Y^0>TImp=lZ*tM{}Aa)4koM?sL# zkUB_{!M04kc9xw6*9Y)o-Vaj5|vv1tt^1T#}6OF4~HD~*}S zJMY<$nOO}8)N&Rr#H`*MfCF>RNh$SIi2@q1Se|Bw3}$7VW7?HzFH@ez^4_=JJ$-P- zjMWVX3MC3RSV}R%SQ1$UU#bX5DWF0sVp5X|a!iB}95He?gl~QC2QNPVO}u=a(+m?R z6b?(n0hks(6$XpY=?^_5omb3`1F`;2g z9*Z(y@wA!8WP(~tP7@O6oMlB~K;DgW*RTgtgObI2XC^6TCPqx|YtcAgTVH;yBlLdt z`8#Z)Z;$NTjON>@#k%l&yE`~InQC8IN_qVF@ynMluWqj2{ows>7{m%8nL*74E=dr% zX?U0Nc1jOV*#V=1;2|*wfW=rfkxnKB**WWqwv8u7aEv+5noJp;3tj>+NlA)WLr;y! zn2HEy!4&5lbDAX1vF!48+^+ZG_~Cbc{|{Z;s4AkGmOPIkxI9k=kTsVqm4{eOhgu3F z2%1#3ofHsdQ&VyZW^(lS*&qDrfAt^!yZ>jB8FEf0Ase$9K!zE?mmIAKv)3Zg3+5mYxS<|FqWL`aS)3vi5e)W*@K{V!{`R= zh9CTD7_iZ3_}K$s1Afq(VZg8f!)-ur!x{)l5ZNLrQ4)t@6|1tUvWBe6F~&QcbN1eA z{evIYxi@Y^MkbX=Adz>7d*a-+|Mmah{|zj)7RkwXO%p?ax4R|I?=D0lMDTDG;jT-G z#ogzsLfCSoS}ASV97Y@*?33Ho8`l<#Mc=KCkI!Cs;gy$Oel3KSi+;16mTp?Bt07_{ z_J|6efEJRYDinkyW+KW8Xh3FZ3z)=QAUe zp2ZG{XA13`FX>~;@Q>Mx;^R6R7f)~#A4bHNzx?GN|LCW4nQz{_X=aqfEz|`}!Y2mp zbGFIXXOq<#Lk!te!<`(UTCL`F#PBX9!9CQ$iq4`lRTi>csCqa{F(P0hVi8ABHwko( zAPlWuX7{O<%`|Pj)YH>-UMzm~Z~W%1S6-gYg{4L*qiQW$CU67_)uP@MJO)6p^P*{i z-5L>7EeS*tG7sVa2u0yjuYI1${`mKQXWpD~!fI3X36TRGL%=-D%_mM72&YL&7$umK zTO~jQ&{8FJj$mdY2pXolV+R-k;&tm*+>O8`5em3F^5a0Pc2Y5b5L4e>-8&qo^-C|m z@aoH-nnr#8x!WmI-}lRYSapLS2|+mIlp_MnkuWua6CpdT`hkdm$=ngZtfD%cYcN-R zn#WDf-J(y6#bPd7ExNxqfP2>^`M9!oF%o@r?fK06{i#X+a#!%oZ+u2e&_3dL!L?~m zbJH#S>=(cE&bx2_;xGQnH@@*__dd8sn6F$p_+R`l|5x`Py!-$ChySmPzRZiG(^JHo z8md~^Evhz-KLe^eS_$H6Gxk&NmRjdPo2SZ25E;XR#B}FvjTnd#?o*gUn7bs#@Nv6! zo!l*|r9Ax7Z~UE?zwpJW)XZW&`!v~hoY!Zg&F;=376z0ofUTCIfxt)rUgp_rb*pYb zf!#9qdsj$?}GC`0D*=~41Er> zI#y4_379NOL|~*Y<@URb%!tUcdmtGa6^#JNG>BS+JPGHjkyza6&gVaO`?a5$3I>Z+ zt=si9ZpNeg#}6Kaj?5fLlG!|wNEp;wk%-*1)_K~vE11`q-C((1h9g4mWH8c++`_KC z_~O;~-#>fsAZH<9a2%R3BM1ida z=U)gaokOZmx`$)LC0+gw&&S7-lmIX@ZY(4UipST@G)=8H_2L~-N3vWUY514B2bxsLM$h9d2kTEdGdvI=Dgd+q7bt&Z@C`kYU;E=nnYflCv zhPOwE96gFdn0c`%d8zX>g;urs&daY5gZt!e(^za8eZ4t-^yv7}dvn<&$jn&70VQ=k z0tZ<0IH)De=kRKC0SW{OtCWMlS%B)$<)mEP{qXRxu1|;Mfuse1OP3kg08yB70sv+q zU{#&xkt0~ps@6KUJ%Ou|X{{!b6e>z^2qAh{P}}N-fdzs#%D*`yIPMI|9BiKT+Tqn{ znm+&OFFbeqh445ZtPG&bh@?&r{ty*vBj{zVfnq%}nd{`j7wYo5v^jTZSDIK74rg z@N~Oc3=q{B$uTUz9nIU{jhPK0agt$>l%&hVDFU)|(s$6ZED)KQPyi^*ErI~dD|j)h zwbs5))Akgr=1$Hw$DxK+=ebVX(|LV-c5-(-J3ZMRNAW=xBq)h&O*)6Vle=)LeeV!d z#uAm#h*O7?t$mJ&vWa1}SoDfw6`As4|7z-n)b%Yi8<8;yhkc$8=rRf*I)bea{u7rz5Ca0-e^Z+u2m$@T2o5c7WT1Yw?#x-EX>o)eLm0Fh4cF8 zEz6jQBG}Xcpi4QRHm#?80?c%|96s}OUe!8|~T|70#` RWR;k?paU+T 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 HxAuPkhheH( diff --git a/docs/images/ewaldhew.png b/docs/images/ewaldhew.png new file mode 100644 index 0000000000000000000000000000000000000000..139d787375f19a8650f60542bd94388fdedb1ba6 GIT binary patch literal 37094 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 MY9S;jhk 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∨uissccU!mHcoN6^;fQQx-0r0&v=Xv1U}#2E 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 z zhi2icIxnN#^+i=^G$9?TBdBfdV2@UNn#jO{!+>J6MJhrv@t}$VJ zPNBHce2ouE0*y~q5l;_!GzOQRo5%&vU4f9bx(K1r*53^ZG~y2VKIlYHUTEB{x21%r zym05bmgb-aU{>1Frdg|Mke}ihPZlov^wMG1KcfT*b|H@sk(;8qU0R)HKfL!C0KA%+ z`?EI`UU+b8NAs%XgHjI@I&7R?aj-D3Cm`?+J@*_#DH265b0;+qwI0;-qDl(#w$6ThCj;i3+ zCbgsv+mZ~&zIwk5iDKh|3P;|#-3XV~EM1SVomVP%*wqs(?WtheBcR0`zHK%|+WeUH z9pGLlAfKdOD|k?s&hu(RwPq2Sz?dD77i_(9pc-l0Sk(I`m3;YbbVgc1_k3RgZF}(Y z#^K_ZkHNKlzWl5jna|37uTBJq7c??s^{^D+GT4%PQ|eq`OLOzX;N8t$hBIkz-O>X2 zORo2q%>BP7dXOKJ@gI~dGBd@0e+CwMcq;P&bOIm?#5@MU@JF*m^fsTnLdek+_ z;WB$Twh}IDT&jBWay$IwClMMSMpO>NG~BCn7!(hK(>v=zm}su_`*WF=;tPSzEl(R& zvxXgLOmR53Cln^y4BYtK%t(`VOrSSn;iq}%tk`wZB`h<9qBlT*%zkafzTg>%C=hT7 zf%Ddv2bIR(`w7KYtO22Gg&uN}%>2l2mT^R6pACa(G0L;zRnt=?Fvg6ZMH3W8*A%Oz zm#1ImmO)M%ww3MumJSI`BT^Q~(1}KAg=7Lr-pJ{ni>?|>oQ(KfR!W!{u?+DxH-sWR zfdcU=A@o%UoagZ7KQ*K6xTo8_K2lsTO3_^YfDI~sFc<|!@8ojba67lVyF{Du&z9z| zN8n;d(TjbhSalKyNB6H7dJwsShGI0DE;^N-H4HFIwgm=z%^3bXxB0x@y?<`=Me)rc zgQG3y7()ho%zoEpF)-WZ?3=s&>p4=(uXp!>Ae_VdFkoTSj$0rQ=3sE}(f^jK(A~LGDpt;1X)(w`bfw zeW}|8U>Wk|+63r}$7Z&jMdULBp@rQbaROu@1pB_Pun{8}MTH(vew<>B28ohocn57R zcYxj+I6I^tj!1lzzMbVnMA6*Fkg%!x)-I-r2nTSv2ZN>DYf9Fn#)Se_)uJBhmz*&n z1UN8T(POMF!AfYqUpQv}{`5H|e^MFELQfd8F!BTQ*uW#HHSXNvZ-e}J&$6hf-VRa6tQWU0wP$6s6X zouvMZ?M{lLA#M`){N&H{`t-?J>sG{<0Y~SJ^t(bPIBc3_@G9W~)0|Ag@g_480$NvQHY=_D9Lxd%A7Ix6L4NPC}?H9v;xC2Mp@A3xi4 zJM~ult|09`f#87EEpCj?GMRxaMsAVHd+Ga{Aj{IwQ0HY91r{u)^!DsDT|Wq$2y{@x;$iBoz6 z1I)+}D-;*-EcltX_lNsWD8`rfu!MSp1-Pc#(qzH+sW$%xs=xc{C zf>KjC(R63Aodc_=YfCD3lDLk~`s~xXdQNWk!TW%bAvca$`?4;($UyL1^4X&BKi^)1 zk0sixB{$S+7+|B-=yoSegcCUE6oh>%E|e*LH)i79lt!wk`L{dY=T!e?ZSwXEHa**3 zFd4eLnO~LBp4pNrxKNy}7-jnnXgeIf_KdrmdK?~}FGjY`mD1b59X=8PnpYkN?luWR zE@Ib~5lH<6v1jKoxzB$CV^%}|_V$E}!lfBW_rZ;+DNuD`k_m2lyadYT8SP;Xostr-`NRqL#o<5g`oKN~#?LNlb%xn80JeM$iQK=o}GDY#3DD&jvCa$%OFNR~`-`dpr>)~Ma==0$7 z!3)o}*-amn!YVh{RtO^h-NPyeL^!7{!vms>CMnPLsxZO?LB^}r+QpZQ=8dXTaA3f8 zAHTiSo)~ZD-%`oaFEP<7ReH-<0D{>l-A>41ZOa)lQ+@nVh2SpNs{X4{75VOnFm%AY zFrp<^=wv4rO>++}XE;{3+n%MT%VZ=RH_sCQP~igG=3MR!OWjE+2Uw4+37ncJxM!IW z$wNKogP;GSFmFpx9(&Ww51NQDT!nMtO2`CP#nm1Y3c9MG1McDhUl^?yj?8&kM|LMwA)st(2xXz5jg8qI<^21(C-$!JRUe&2Q~ z*4Wn~m*~C8YuG{jOzj}PF4fC9Z4^p3D0o%)Qn|9ENj z{^oa-yMAL$n1!M* zt}#o)fkrjix%Be<;mr1U4xKgxsbHwj!I6x*=EYH+9qsmKQqh-r(zo8x5uig!J!lO` zd1yKG+bfJ7C9NYJQ%&oZHmp#N(T5?}6f$1UNP?i8XMkfLydu&qE;-LQF>V zq~eKs{M>8DCi=KYVR=%Xfsi{xJY__**lpN1v3zLg`ll$pTPRWbus%Kgr+ol(8flvy zq3Z2FpvTKj2Ag@=3qDwSDFh=V=Uc05q0l%-i!=}wq=F(y8ELsyo zWV!NmE^#riG=^0A6~tzZUT}xfuqN23Hv3)Hx`pE~)h>(9L&b82(&cmFDR_)!ei3qw z*{!9~JUTKAXz7T!gA>3N7I@Tq5I84No>4qYJEh@raen?peB@2=NlEbbmA2E@7d!RM zXPpz9&6_?vFjM`p_(5@SH0oV>(#TKYP}&kRB58n|GDDL-#svMoVWtC$F`!qte+wyh zA{KW3^QR5W6RAZ@i&E8jdJdmk?d@$1&Q5jGz{p?2E0O;&u?Cq!5;{=>wWB}E%}Gi4 zTbw@4?;gxmP69df^`JJ+k`HN?nK_et>r^7B8j+m>qSxfoeGNwUU^8yUD5L^hic3n?*6kD|DV z1in?;^P)9YO9uW1#f&r@#b}=p8&y{fUfS#60>uUHWcz%!)@1rI108 z94M{HLke7wbhC&7IGtyaQggw3gOg*@`J;t0kH73JES3MaakY8QwfSuG_z#f9Kk0s> z0eq>orTU%$KKn%_8C)@auDT|e;QsB?w=rg-X!woSG8u&;w@r3#y7m)7l#|Gki%;*0 zXqnb&KV~pyIYKFH(R$`@y}_z{w+hzMJf^bhwIxQa{RF!?SZ_p)6S*mE8RA1XdPyUx z@?kj0ckE{D|2R7DXg2@%58JD1)E>2}R(3WC_1{GRXcaQq|ZILPxn_xrwI_jNVj-1#Hjp5T9ZWQa`Vt!~I!9OUw{a>NZc z;CATde`yFN*K&CBD%0|dgJGtZpcxHQ#-j?A1cHSB8op);ym26}Ac>J6NW)3jt>;Uq z$4gLOqvD{#t4hZ+;26;SkB^H;hHnx=PT`Vl3_L61(@ji#Wn;&q(3|!guO+2uw7v|` zKID-UAK+Vy=KO6RLOnev8`xgu%&MaOU;jYC7H|2<{0oJA@oDY#Vq2Q2AYj1{yv$x2_hSjHerfNTlHETn1Pt*BfLHy{ z{`|nQV6-Ug_{FS}+DyjgUQe?PM*5=J6nVRMA`N6ig_T-E-oEyS6-FjF{8Syvi6@9; zwCB&o0bR1;s`U}X=jBz9;jnVutluE|x~ZO6D6=m9Nyo3qqgPYhO@$NV$n?Fu|C#+m z;8cG-r&wsSUur3$%AMHzUwWxJ7d@4zkp%8wqG9=ayd9&egn0f$Ev3_dfLLy|ae!hw zX;b7pDw0nsY+j-qK}nrk70UB~aYR{72RB|_ZF*IN_m%S_;%uVa6wnw~KchX}_#U5l zhO&kZvCivNEn1QU9MYZ2ai(dV5w&r=hR5WYh%fP+kxXK${E>Q}Up*@`S{+})#g(q0 zq80_kNPDKKYHd?f;j7Vdmc5xZ0qmha(4QC5j7T!qlT_nPT=-)@?WYaB!4vKO6Y)x> z2>cC)CO$8bPn%o|fbdeO2yvApesRhhZP@sV0h7qC$T>Q7Y-ZP7|2DrRxYOeAf zfow)M$I}3BQy6~PpdOpCnZUawFTd0QzBmBZKZWlD;CJ(5ijbqVO_7J+b>g7evM(pO zpj9nDV{%j78B{mqnee$(l0`+5;&Jh^1RY%klb;e0|4q+3Y1rtm_{~0Ycz;#Lo@N>P zCW1p=vZ&>!p2>5;aJ^`wrzUA}y3OX+Kj?=UOPObvJ9n$O6iVEhKj1CaN@Lddmp2a> zlzKKBrd;*`qWZy0dX*J-e_)X|kBkw-^-@`zUh?ghfQAMiNc{8skB<>}OeIooDgxa0 ze8CL`v!u^sQo;y%*8k6=WCU`lBQPDZbGRo1$YZb7@vC`o4$Vst{5d6e> zd@MUZ6|Vi-;HOa}{}YOD<(x90|@R{6VbeB{UI+zbdz7K31I` z-PI^((#@)N0^pj?&i%4VmntLoiXsKD*YQpr!uh0iz#rPF%dhb}joD;baSz}!-Ys7P zcBPDc;n1tAc_={rrB`9>rMc7<<-mev~KUUjbE1Bwp(R(rnjxS3&~V8Pcn_v zJfUolyx4q5a3w_k8kChMVZ3-184;A9qSrDxsVldNN0@?!o*m0Xtc!l`s}~M8nGP%} z-%+E@;gC1V^PwkqaQdzjs@}(FpK158XZ&KBzy(JnC8xaE9)Pzne6O_b2#&#V6CXAM z#KWOT%AQrQz#|%Qyv#_Qz1f2&(BH&?@kBg+R;q*XL9F6W8h-z%trGY~Wl!#B6-Nbn z6i#R-;^4s(8rGFS66(SeNp&^QZYVw+u=$m&hlgtR*Z;013$FBRD74QP)fBw zDCc@o5>w)2UiNhcc+hDk(9f1N_l7N;r0H!}kh!(B|9RU7y$hSX*E%X{yJ=MB3HBjsQhT zHz=@mPAgpY_znY=Vqjn-@iBg8O(P!rLNYqgGV(O%`8odJ@g!EE!0nzCJWZK5N}R>2 zRO@#}L&cd>qD5*RO+CfK1htb)ZmnzJO%w64RsQvMNt}lG-GVJ4J0NIoM$hk=-K@>$ zWKu6S@sykeFYcd1loI2ah`uSirZcLMGDZAInTDodfBmgtKjjG6Vi59 zxk#xS?YjFzM~*Ri5HQA#ArMPfb#QR# zWA)lnfJDLS8hwxUeZn=9ruI{6LUrI7NJfJhA`1$^`B_xfn;} zE8Gd8T%JLzEbg@ihDrh*j+fe8M2yMpk3*)_|p#(FP@F}`*yw= zH9bB|;*IMcMVGEap;z7@)6X4uHOp=7*cC8wGeuK#a~nylCu)B&Z0_z7I#v{NIZSE) z%tW#cf?n};_C7s69o8&<%r1>xgJaRc@ZhF5-!9;1HT#8+d5D?civK#_&WTqi7}t5M z^>*fo50R+yZ<)C>@<-HaFUdX`l0O$@sds1YI!(F0Z1$q}7||q{fJ8ZBor(|as680N zxJV~*mIy(*BWVNVo}OrNX06>>jWT!pO_VN@$#`V7uMvHLSc@}0g2BIMIlVPC8wM+EWUV&u~JK-$>v79Rb{OtJrVft zB-%w|?W0L@(pfXihth;SKlVHu4Ik8L`(^o`b%$&aq&@Wb^lCmx9wcW|H@oE<=7Cxc zKz3ftbjx9uH2&lm{nNB+D5+S1Tr58`Juo(bTpn*+o;oZGHZ}2HAlslFlEKFtgXs10 zI-Ab>S?sY5plvz@BX150`-%V+puZr*xnDx*b^qkC+4zs%xZww#(-JwGc;T zr!Ap21m?oCSqCFS(Tf;(Iq0!MaWPv_Vd9V36R1<@epL*WXX`2Y;Bx!dhsC;K*55zy z=D&^gcx?V+$$l&QEP?OracMAy*YC}L`FSd4$JYPZ=FC4n5gmm5uvD`y3vwv_slXQjFR7l=fI|ZypnY@jnh5Z+qeznkK;u{GaB(*{p@dG0l-+b@Q$Uq zmPqNt47nx!*Edb|sYWIi(*sy9lm7|7*u##|v%m&le=6ltcM1y>=5cqpt~nceH>gR; zCS=2U=em5#zh1LAJKP{xwP5^8k3{(+k!pB&1R;$bUYCRnckChNvt+e;0?R3pSm?ut z%tCJuAFl7_Lw+TFqC}o%g_f2Cs@6KhGrV%w*^{qd;GiXBC805E=y@P#T->Gz)?m1? z-mR}{=%M=UV5y(9wtwTX3=hMeK^gj6wD@cC6dUti4%MUE+&iqBtIq-aRbC7u8H#8n z_rh9&xm2}(W!m^7Zw4Tu{A{jcp0xu0QB`tkNw2K4{Y!ASrlzoM!!U+3xkxYMXa*EYxTu(o4G<7c3%>r~?|ac#$bP?C;{gwI4(J!1 zXhSF28OhYWc*>($lwkLH-og81YjmQ;S`bi|C@RP*kbT5hwO$n8l_LSYB^+{k{8Tmo zwKd8j?Vh~rox@}mexFfhnbmlqLjZC_k-YU}+YaxZ{lQf>Z}h3a=rvQ?4L-%CuEmrz z+0s|@z>MkEi0wP#dM|u-&zx|}f&#vViFgVIO?*GXQeMG9v$FU>qp`vVqhysNYNdu| zS4Sx@Q_Kns#GE<8mjyl5X=R>$Y&*N<2o)lujNX>%XN1Lfu{8Nep;$#{O-R(e8YxOA zDr!}==bwnz`)rJk!v-rDO{oTW9OoAET=mga$8_q41ZlaCU5}@yaN;WYIq|6|qy;b} z3ZGOtoTOPJR3*dTZODHU)V2~v`-yKXO*m->MZM59 zRM!;~Ao9twgUN)Q@9wOZmd*~}uKfThy3tqW>@Br40lxZu@CC+oKc!k!;*ovr3R$o5 z#I@_TJS@!^{6ewI7u?=xnr8);kGb5rs)C$PpY*cB&sLh@cTy0v1w?N{9V!n#y4>Eb zsOp)SId>4_>Hk9ILo|Q@O{OQ}r*%hFSItk2mwe~Z&i1Ai5jT`{Kw0jEHB+Cle3d~S z7Kav&T;?45LCo;srB({Vo> ze*IC^R@*;WMZO~Xg_%CnUe!QXf!f$aGC$LA)vJ5*y;X`P0>6?ouQhY9)D>+)xR z9|Jwh^Lb+&b0VQ#k7zuF9G<;12{Hw(ael8`Rrxh$_VmII6m5{T`O8l5_WXbj6-lqA zH%~;Iq=IlNW6>P(giupuR=6G5?I95Q#c;qCw0+qgAPU^j;Z0#b!#wYXRt8dmf_7T? z-vZm-!2!J=^?$wU_6BWY-#(XYGzi$cN^=wo&bnJK!a67GP;M;KTsbzC-x2NXWzZ*HL6oauJh73}|YY=&1%oFMg0 zq~~t%berHekV|T+b>-3U>`A|{P3`RP)$Sj`m=3jYIc^h^&*(Sd#at1D#*|!1ho>5xx6|Ciby09|Zc$NRI@^Kfryd%?}&^ zE*Gjk3;vI5g)U>hrD!?FJtgg}SPh$E$mvEkFTmZMTZA3Y+%rB!UgM(aHVZngV8W;Sx>WcYT>7(F?s2Ax8Au|MDs3<=so@<=Z9817 z>uESrXeF{w?W5{p_swsZN&=o72Zx4)L-<^IEjq6Ze8096GG8o=&_~dthMgoaZ7r|A z5#m8rrKqG&vxr~y0D5;EMqFz8r&%A)Ic1Lh8e?`NM(m+qQi4gQS*z{UjMSd&MfK0U z*4_DN)~B9n(vEAgiYM?0x5@2+s;LESIDwrue}7hzfd77oVybB7*RJ0IRvDj6aLd-` z5r~f`Ph*enGZ!=Ff6UejT^P6M)??&wJoVxYrW1!4IDJO}^Wy1#8)nkZt0`wJ)uuox z>|7wC>4TYHI;-%)$+zXj1A5{*TlqhU=?>J!GfT{Q4$6I>eUkqI+96ae+O&F_%C{Mp z)$K=xFKG)_!|58iMn$c5-N%Ue>)iN$qtg2FK|(yO-+&a=i>i5W9S^V!!1XS70asX9B#hYd?Kq$j-P_-{f`$5AtPWMLGw}O^(On$H>b$>6lSZ@R1kb ztE0`t>FEposk#US2+3Z2sh7q->s^^iS(Ns885>kw_+b5~?rstL=nK9|?wyVc&Ve*? zaPU$+iZ-7W)?}s>cDr58o0_k_PDf!=3{rBjGp_-^J*cUy5+R-B3iok%Ax`qpTD?m- z=b`$Pol(r(3uK?)6LguJyn+I#u>bQQA+O-yN8M=&=MO`B^BwfKm<3a##Q*)aOkp7G zd#W9@tv)_J&f$$uErtrgwPl-17vSO~Q1RYd;+T7uIFu=0sJHN~gX!9Hb9EK542HpA zCWgO;ojR>twJ(((C-%DxQwbH%1_4QicwV2#_Cqs$xaMfz*klvPW8x=fKrR05Z`|w{9_>1i)Zmp#-l}};9?`w zKpV2?-ykW}PmHWq;ODFvUR6Qr1iqWjLtNdVpQMH31%%_AX7uU5tedKKLzpT;f;x+e z3$_XNbzdh#VGv#PBOm$< zKC918g==i8$e;xyw2C$nj1qF{-e*A8P@0 zqftdiV(Y_%6g9$w+2ro2%$Q))jrFE-yI^4VbnycDRm3gkwWv_=cInAppNUye3G1s_ zExmWUR3*&JQznv3slyE+kifYgdQ9uLd%f$#?2xPZ?d!&TICfp>zT=|P9{b|{be$4= z`#+Ezwmaiur4>Nz-mNfw{_A2VT^-OAz?(BueHP>s+NqF7g}3uXUmV{-fA7KCCrkBO zZ%a}zO>w%3(MY9P0N^#Re^XFg1Q5yl3krO;tQIAPn=CG@JRm{?2Hk&xBY58H*zU2) z^dl;=`ON4dNTgUTaH&*d9d_2%Z6if4D@M7u2!`VKMxNwW;PUjE>?%n2w%AB0Tx&er z?Pab1M3FJg`bzAnoq8I1)s$pl=XlTL!897WSsA@B*3|b^_RV=n)6}zRl1h0+v%>$1 zihsa(lf?0as*YDzw=$oBA&HdiA@_sM>`IW+-n&KVu-hA@>p1L0nD1TR^jPQ-RG&Sh z4GOhKJ2jf`vn>@#-(8<>TtV#(U=4Ef%PRt^J0cFrzCp0@>{LJ6@!1^;n`+SCj1F;E{$r z86Iz49sYf_3gH_bBxrd1bi>UgrM%gF8PpP7NcyzD3_W9oU!iV7r|$R#viO*tU0PQa zk=plawq`-9QMZ~1l8n! zCi<_F)_L`dSmCmW`K#Z%>D9Zx!F9kxP#?fRC|>PuPCD0xFwV-!-2`|nxA}lQE{3WZ z>ae$C_sakxY`d+DP4!R8;rD>u6o6?@CFi_Bk7<EhTOf{eQ4HIAPyq;-ZxkChW0{o9LY(U1~1`2*z9mgJah`C>c&*i^H z0wy@%?P5s-4{cl$s%jux@wmJuCwRj_uSJ;qR7|AWA0E>|PSr`0S~C2z?E7Rl3{l zjspZx7j^7!o|~9{?6=2s)Te);#xn%5(TIq>LzqdP^FMuI_{k-ilswncFxhT|@d{o*acUDszTr=g z2^_jc7?_ZsZiJd3i<@&+(LtL{ZUY==qOnEu40|CY8;|3e>(d?vJ)?xnhTY#zyG)S& z%vh2F)iT5%OY;gFcmpZ*`MsgW#fue482I8#%AL}UGgikWz#nMPLYzN%kSUK9DTdu{ z3f#FliNLmv;ew&6@onOshI*N~r28Y$klF-Yu z+3mwr!~c@t&%dgxP5clj%f1wJj^*0@MUwlws(I2x{IAS13%Ggmy6~tms%FPkt2NQe ze00obQieuDsK5nCt$bWOTf05=?2vU{^HNBJNM)|thB(G43tl*k&dj;lAd5d@2qKBu zL+N3@Gg2h41D)f6cwWfy?KCpveAB@gV?E#61_$pGV|%|v13O1HN|3hTGYOd%Z%5R@ zz6A`LXZV3HphYoE6v;g8XJz;L7ppO6|1bA~XXW3W-!Y(`9b`dqs2B~b=*d)G(4ZVX zml$}~p03k^F1<{MZ89iBp%m7bY^4rAg{dr-%K*{EEG^evu;f^y;{`t)^~Y{`UCx zXz~mpyE;)eA75*pvhXYFqAt0=2Gd;laf5@G8zR@o?@h-ZbDxI zFH=nJd4#XLmu;+9mwMNwQ-U?r@Y|uz(B=sl@3J$DHwvmXrrEmFsuDIL@L^oh%0dp$Ig%fZ{`io07QB1`(f+MS)mn8J zul%QKs4LOHWE$r?p$bO8lrCe!m=2L$r>y(Opus7@OyU8K%A+T)u=se^#Ig^I{t$ov zCMbB^M^;|Z`o~#^huej&yPXeUO2c$uXYMSB9nIt~PoerscYpMGl&<8It~!u6_dS$K zQcxf}y1TKFY&8G^Gi0HsJ8qhH_xZo%p=?4A#m|>|XTXK1BB&m$7GDlN~WCDSF$>iN^lYUYXQJ}bJ%Bvokrxgq^zN0mVMQ-27u z;Dt|_m-W?~M`uAyG>vy{Hoq$OB{c+zA|5-XPt}0qYe^z1ISQ^to~=2s_BmJ_obEnv zft(?l4_p-jZ}K*IAlLCH4Mewd7Nwvrw=IJ(@3F_fl_mx5BOk- z>rDn5;PsOe85tcl^T@j>_RkxlBR`~fZaP0KmhCU*sCC2sf|yg13>AD_ z!++!MHZJD6J>+B>!M~rQPEV&h^M5_TH{+*p+WHbyxnWG8@<&HRfEViG%?8VWI=QJo zY4fvhcC6JOvq3OS&hM=(V(v=e7Z;4zn)+-t2ny&>VKc=F7_$uaSXQ%IQDWRw3+s^I zpG9?pM`ZIpSDW~p4TbiSQ=AR1>nlMFeu{o;C=m*IMNBhcBBher*M*i@{+^!VG}v<3yO(rX7OaV!!J~)>J8l z9B)r#1GM=u>=kyW#-ceCFoZxZ?rW%Inxf+sS5f+G3`I%58CH`@@aTpjf~$DsA#l!aQ~|&sX|D8m0>YyX;c8B zz|7MbJ?pQC>B($p3C-PvXk<+uezpC)+Le&H8cewUplO zyaRT1@Ms740A>)@!q?ax>|R)XhonOA(OO1oXwl4x+-!h{Wvg|INWPBdbVX{LpXWot zKukwz({RTIm5QNhbFIyA*-{_;x*Gmz?v<5@fz_DNug;eia&mFJNmJ#E%?C5nZ~oZY z4u28gU~!?J6ntU7XVPdks;@^0C?Q@=jXoSnCe{5++)EFQEJ^eU-R8B%BY}&4hfTq( zvZz>?o>0`ku^BszWm%#6&zrPtl#8TGnJgYyDw_z$buLdf&e{xoRJK@ZfeCOJ+zWv`HZVaaT+TP`V^EIMbWj=G3vFVnS{{=tL!(;jIs-(`U z*@X6qbG%iPP+I=$z|wOMH~qZDb)`>2J_++i^wtrB6-Xel1atbo zqxi2`4Q8rBD3fkZpL=q>btZ)dPyi@dC&mC)>Hn@35-ssNtPxnuX&FL;q} zV^_?)F5AB2WIPI#Ncygn(ja5qk<+YhBFn*RsZQ}!rk}tecHtRljO>%>`CRjqI`510 z_svU-D{!%uj=vG|Hg(p5W3{nWLD$!Vruwqs9o08rQxEzt!x^(mH%Vb~qyRGaLx6`B zNKO{;Szhfw4s#B+`N~~?5(JYCqBlivNKz1^_onnGEG&&9#_Y83Z2&-v;(Eb z!OGeC)x22W&iP7tDn-O4!oni}l;IOwpzAuInN5IW_Ox2EP;e$_erR6)zr1a$m}o?5 z;WOiI5b+)8kO0sY&TA^k1FGKe#~v(l`&B%GP^KUha|Bv+46>kP`Erm`wi2pAHUp{xq@5t<5hv>M|gr^C^l% z&hukIoQ#?Z^-op2fwE7uDd|?i%dWC3wI6iblCAc7!EE()eHqon7gz-Q@QEoeWsyAO zcEdpV!59jXYy~f)qb_9Y3_ahj4yM)Mv{aab`Rw;KBeBFBhZ{Sk`ij?lF9e5=m*rr@ zH>OSg{w^hqEFupg`ZA16s@qugdHK%-WNiKe%xS@aftR;?KlWWa+}rr9l;q!U$jha3 z(YkL>=bVeGGzjhol2th{+0V+xsXyj{PJFBCpEPv2>BQLY!D^pqs_IKdP)vNU0{KB) zr73>bCaIgbmE!fRg#-oO0u2Jb^Si;@pX6r&D_8y!sJ;yBF!rh#2@60iG=69X#+5dT zcYq`fL~&4a1B~p$;DU+MZHp_d*FYBu<@`aEbzi5>vg5VB^WM&R$KvYcy3Jh!n{M0m z)ym2W&>dZ~3_M?>yGqjq_Go>ZI>J0_GCKt$t0?dU4W2uUwo$uW+y!^Y7LUO?na*da zesk!q5X`Re{GmK$G13hdcYZ(66htF|)zFoPHER`3+uwA>obN_ zMeJG(x~FabdQOxf`fDl(x7V^rQ4#n~|7M`?$xPw@A9j&fgTtkzs4+II4K^P;8-NT# zgW=dHIn%o7%^V$z%+9fjZO}%}%m=dqpyv^MwK16CER6Wb_4C3HWM>*{_8rfzEYSic zE=e2hPf{XCK;|1yY})Ma&+E}~HnYDdT`e}kP#zao_ZsD#)cd>T-ItxGTLt#jS-3bA zhab}(LXGq&46W$2tFnhr&PR@A>O>0v`yRujSJkrrncL}||$H5*=3Y7(M2dmnR9dPNDj-a!?(c0`_ORHrhDD3X| zY?xuT?x2v}aMn-VgePIlS{}KwSSbA3D$%rV*}wCUf=&yUcT+b+Kg)Y(nTb={?TullIZRyV&4KDbW^NlAsKV zw^0@Zg%tOsBAB~(5<;d`e~JpJ%L;C2^UD$-ADW)?m3HG)Do0gSRR45ewjEc|z$<;L zo#3F(7dhEQJ173P3#)CIR#P<`EXLI{R|_j6<$SYIHmnP8C|N)*-#rJl`JWxkfaHU& z_ogSRYxgDlr7F)L$!$B^W;M&<7k5gRXzUie15idZ zewfV(TJ{B`Xz(^GcMpA^tOE6?*%2moR-cifSh-pEWxum`Z2@P~=nUW_A7ZF@bqbYo z^pC&?EN~%B9n0U{6^r3#2LW5vbQ}ir##~~4Z2=T3^zOmW+v*HX><>D)TwkxL{Z&S zJ>obFR-66eVfU_55iZ8ouqMgw9HUPMA&rWOZ3xB;-!Gu(w&-^K4+Z}N*v{Gt**Y^# z|DHh{m5ZD-n2QM|M6=YvOJd*)f#$a>Fbh~{Q}W6 zB%?SWjj=9<`<+}pxZX>uV+-{PUU)!2qVAgQL;7TWoU|C=gIg2isnQCL243{m0<3+=qVw_&hOq z^nwd0cl#J4OP4I+es@4x0FYGyUk`M16tA{3DDT&7q(|4f8H(}VEo#u^r0fp93u#6Rvzf&W01r}2JpQWzY)eiG`Xs6-j)cVn?HAuk(pcHBexWpbxw zj=zkj4dQoxdi9STg0*c7Y1QnvfO^Ak1VfLzVU1ZPk`z?8d|P}Y?S4;F{Y?$V+~GGX zsjoBUe+mBPEe;C}JUzzT{<}$9*DSs}9$RT^47gl7@!EXGphua?Q)&p^qc}egyPJ>N z&xLz+(8>>!Qg=90+0U#dCy1V>W1uF=(d1p(Ncl(f%BxqD+;)pQo8hr}3q@$hkUZhaBk)C^?{=>G`67)EwML@H3LckP$zcz>l!0tv{Q#7k9 z2%y6dfJQ%wI15CIFu5SAyWfqQR=jbxC+Bd*DQ-3STn;>F7D&Fwi!e>1d zZZ|ux8(}a=gZX}A5=Bo&4|KBkcNbxqmx6{cv`Q#3QEd!iDs&0EzyLjy*~>R{oBj3iXLfysUe8ZM8?={5Kev& z!2J7#4i(i1D{}bYF6?Bu$<3ffum>?S zvw~X%y|#2!v6!N5M4p_X6nA0x|XBkQVf2*y_?#zmEwYekQ;E=RAtfz?|Py2u+$k2pOe}1 zhIdj^1Y{uXNuyam2&L8RW_#|lBoa9kX@anin2BKd=j+Zfkj2W6?w3jf`H^3f9-D{C z$)Q-fDL|+?g^+ji$s@{OTd~n(y@=Rg#)t;$h}OD`kp8EHzVeT!S8mP#pK{$|6VM48 zoqa1nuVSlAz?Wzj1`kCQ1{BGME%1tYR-cvdIdevPnS9iE5;tKK@NX+NDU?&p9>KIC zW7ED~CtQ`>%^Ds4<(0sKkfd&g>0^_1gOujx0B5stH&hv!0^1 z3*=;F1sI2ZPZNr}XxC5*MT@ZLYO^ntVQ%<%Mz6eoO@CH53_Lhq4gR@0Y(Qo4sC2(( zCxt~i6{w}#i?D|l7v=U0U!n1(M-EbjfW+6;!(*(exl9hW+ELYnR!1C7SDONBU}0~S zm98gJ50G%|#u4-^Sb-_E{X*K^5`49L6(|Ndoi;_ZS_EL^!;ZMVZ*%~K)^ywV)%+=% zwwzvqH^j+Mf5>d_FH8R(!B=Wsf#ME4eM#U&4&{so^cfqsDcj}9T!-r|!Rr97mCzna zyZjJ1u28I+>UUhCceX6`6NK8IatlxREYpCYJ9%5v&g_Gf$1gtnQxEW%%rRv)YEmX- zyrp!wompmKKNutM zbNHqHxsIABi`JrD9zLOR07RnW41q|+xWVP+ulG*s*dSM@u3kL3iPh4xNsKU)Ur(=x zU;+ZQaxoYc7*Qkj`3-%n8IU?PnVLOsDhfH8nEG%yC-qFH{;<6n zDwq2)z`wa{^1WmpPBsTO2-Wocv$ewg@!2F06NzF6)^5stM~{Y4VCV~<&`|Wy^MmW@ z`A_MFpL}Lq9hAF3-{<~x?jR7eC+d@a6Q>^} zq^Y}kj$R16d)vHxvSMs?A6GhumD)Oz-mefj#J+7gP3Px`s=|B7@-yP=j*}9b;>HqB zkF^o%H5cJ z;H`-y=E1_@czUkzI>!pFMsBX_Ucfh7&{N?0trDU44R>JeqC+M5QJwZ~udW7HXim-_ z^a!(ehWZ`vtn*IpoC67hYugX0nSUs zDP`-mXcZDn`vpSjS`)i{a0dpWFUb3RC14|Z9?Gka&>yS%joG(x#7OitdDyN;PIZ4% z$l;+?T;JR_%wrsfjAXtfc_Hm$X61z*(S%0sSc zm4VU7eJ?{X#%dAUYl9sD1q271Pxsd3&oT`EPj!N9;?)t3W}WW=eDSY*>* z+%iFa@p(JOu)a9C?CIHHs*|-Jyj)lyzhg1CBHL0A6R)*$Ma-1P0b_Mg)o@!ntBF%L zi&>0i@DtSi3i5^+iM^-vMri7@hut3a)Ai_C{a5{ocl~JQGgYeI$1G=5vjgO4)`c zWiQFYU%v9PvSy>HA7_S*k&J+4*=^QTGs3^g$wh2&f!Sj}I+*+`o>2Ik8*6WEw7+3W2aA{Jj~TYqZ*G~yNp_|E!eq0XH2a}T%` zADjt&S~jxJmBwn|NJ4B%z`?=IVJzY7q$BSz9E2GR?~>?e^g)(S^)8_rj`88Zdi$A(y=M*oifkOD(6O08-H#dt zaqy~m^1~f8OzClRj5(S5xKFO+X`iNB{Fgs@mE<=mda{BzfJrAgF%`peIzs&tyC6VE zp!6h2UQw|#*uLGeX2$K6OzOws2G^TT!QszFR>`5q8E`N#Hc`5pR4UZr0se;<*~5+j z>wST;kh8V#xk9K1FM_1bokG#m( z0o+dpw94e5sME3nqusVnt7anOtg{eBxc@$LI{Id&wGb0>0R!&R^EI#l17BHYU^iWk zH^?ur-BJiPH)cA_$JBu~V%y7fB8o(SjCA;Gwvx);Lth}9L8y|h=U0kLYX#2G=bI;z z;!jaJUC0W)6<=L=0`j&m8-lNZ<=Ngpeij%0^`Y*NkWqIW_gnRT#KYb9A{ja3pz#oY z@4s~jA8{q6U=aWN*T)hDq;{3~G|q(Yo2<#oH^es23t`gO>mGerSwQE(qMi!hW14Xw z)J!bk9COj@y{sHP=t~<(ldkK6J0U$1r7Ha?H+M<9;ZZ_mWW*!RL?+nkL;Jn#Q8VNP zvybwysL*;MVv%gsJ!Q7;N~p~5MB-@?U%;=XD{=a>_o9o)53l~T6kK=B$xgy=dWwz7 zi^DGeQ6j^_T2?<6qHl^`9rG*P?s~zj^_G~CXeetzm0VIe-o(m z4V9>^Zs5^~^2hEzk2Y`HPMml6aI>*3699SZ?P#vk|4V@d8Fq0l2h8k;?mjGnrOz*r zcilh$CG1w|7DIXmoU9q`5mz%QXtPJ+)mm8;KS^9f`~3E1bbX|hs{5zU&jCZ3KlC8P z%w+Q$pN37yk%JfvPv(C2XcCF-!4A59Kszhl^iHk=pPNty{ZWxivHWxXJhM-(i4bHy z`5Qu86_tY-6e6aCG52k<7fBIw78efJyhrx$?3-<#^4;HizLkdeg@)xGq3iioo6@}n zQR*q<;RC)jZVD0w4@a2Dbz8rVbkp9{dSoT_0;7tn`O0r^bjmC%=SM#v9|d~0Ry z#wo!lzUaX~U!X!qhd{(IdfAXk2@}JM#K{GQm?Y4d!mkdDEMv?u`t5hOSZS`~6y(b; zk{8pKhahJh<3Y7=^J$)Q+}D8C=Zrt`+h^QYyK=?dR6qI9B^6ck->CQ+GLJ9Sn|@jf z>i$y+vobbO_(yK$j_kbI7=%t~qLzGRYpMjkJ2?4SdF<~kjl36QYOI%r{&FFzQjEeS z#{uC+m5@8qC6*jVk8BsH;^C?Gn*ue<*vb6-zszc46A)VtWyb1m!`w0(5~v4=I#rMM4;bNdio49=jYi`zv`S!-N^xseK4HBkn#U`%~YlcqNls?m1 z*1ZFp`J$8?DJKck5|FI2W-p?hb}-fl0?73+7_cLZ9%BzVk`6mrJw5eZ5oBZ>=q(_M zBH~J{wc*o;Qal}Uz2a$JHv?FkyPf)?u zz^1RnxV}wGMPja3yj;g$ArW;z!JP^G36GJ4C^pUmj3rYlx~kyU`;OgDr_1qCnctn> zFTRHUw8zL>NWJ>}?hAoYrZK(oYs;U!I7%Ge;Z}xjn3Z7f;|bX&aR(!CKpGBs?HhqMhi|1t zg%|`%-U>nL%i;ou;orSDW62{oBzU|@vgiPynGrs2&eXr3$-21j-n|Qe?D;$ztTNAf z`{Bbd82Jl5=NHeYf?H*FT>$;bXYl%Ak!FS{?Yc-_tASGB;TLq9puKH_qMYCmRnD;i zC5z1DzYtDkH5z466%p?Ktf@58fq`gOnRX(75MBfmUMm%C7u|EecxH{K2*w2Mg|yiD z5n8oO_4gk>u(arRikXhhj$X+x^bVXZU%=^x1h$fis;31SwaG~eB=|W*n3Rjx4sEwq z+nu?4-%&^BbjuyDFsPfwmiV$w6>zdN0OzT{e#=*O)~4%KLb+Fa4!C4~R?97Zn2rm$ z-`Q@hz(BSA%IjsvDq3$gT@9tH(qbJA>qV{a7cdJBQadRgwSz_XjvfgOz^w#hX!oKd5d?=Qe1NscAY ze`_x#-dRCRbU3K~T!&#-yoJhomq+(7rS<;+|3Co0#te1)u8He`=nKR?8UJ;9BcjUdB zj?rwi>RMlTDn^shv`B|Pe((L&$@$$YS5S22i|y^5^YgRyx^V=6M2JaP1xA5Al&Av= zIhiF^Wd}Y`>3B97mqk$)zH&iKNi29@gnB&MetEn+K5q~1-djsn?OrZlg2!uDt2NmbBDx0O2;(M;dPs!>PwLRnOo0G^z4OkonXTJ4cP)ceMNtGl_^i6F1Ar2M zs~VZuyKLf!fPHXmrhV+9c@f#$+sQei<-YF;QjFbtz4jF%mW&8$L{3o#t^YttBjO7Y zssa$|CIkWr!LuUSChuryfjb~Y_Ctn{a~=RqVi799jpKZi;{$4{4l7`XYCw5@zDnk* zFae|4_SWvzD_?y1*Q2WF+dQ4P>3FhUEqAuIfiM|l73n(^VhA3n;4n0p5WNc_IITxT z9e6g~Dx9n9x&Y{NLb9qH)%D1bPEXG3dVKx*&Cj1bef8>9w}=M^_V(NNxA(@X+BUtf z42hEEa=uQm@{>t6fZbVfLZ1vC`|CH5OEiqV_+h>PS<0YFj@ zJbace5kW(7Jb)uERS;h4q4ulu}BP3R7?~19`V0(kT+Cq^yQH$GWa( zvst@7k1+^S5!k z{nmXdd^wvw`QT^f?Y;MJ-M+Uo9tE(b@7CsOpR`-1wJp`nMwH6Y6xKcZ${e?+^K^Rd z19Xzwb-QX}6s<YC0UFwHo@a-EYDxeG+BXZ!9ikK-i72bi z=Zojho?X4Nqbfz=(V;1rSm`Icq z0(oM~q^s3AJIK8sYV5kMkwexLLO47B}3KATzR;!dUB1Ew$IRi2?l|<%63=vG3 zT=1-Q9mbQ)u^PS9nGs zz?d~s*MS=ll6rP>d}DuR?ZTHHM3;*dNnV~Va!QM)iOGCDs>hSj_O7c-TXiVud_M2{ zet&oO#;qGKU%veHuRi;$pZ)xkN6)@`{(7;DKyEynh}v?#@J<6cWER5(D zEs=Ro>KqX(qQGFx(u+*b1_=m}kPz#fv*nnx=`a8#Bt~+M&72QjO(|hQ%$jmH-m|9Z za+@HrbF)fGVjtVKLICI>u49|0Y<+*KCX?Cp=9QiESBHds)HY>UEY8ZZny=48;S`*h zBC}TpA}6SpJ+93s3OK3!&Q?9GN5mkKl3F>LDHrGGs}B9_+Wy+`gD+mS)B8oJ+DtoD z`HTPVzn&bP{n3wa{+&B__qHlF$r8;1#vb_Ts6FvkHSVMyAK2PZ(O`<4%dr2e2Y*q* znmwrHqAq7wr#u=REi$n9J2regH)_53d%e);ncKmO#SPai${SX0bx=hX@_ zSRa{T#oQs0WEEf(a)s)q!!<;PnIafk1{>Nf01nAJcAg9(F*_HA1S7CbzX^4>N(3L8x(rQ4p4pqWRLF6P+A$O%gsl&nBt25LrZ28N)B2HxZUAS#Q|)?{mWJ{JRGZJTxb z>adzQD zAcwyW<^bDRjEJ0>ZtO@Go3t4t!X<-Z2($T(s~ZpjlMNTJVg1=);va@@h-f-|NDLK> z0S9EV;E>v2Usn`NG~DIP%)_Q7h=8UD+m5tPabsVrPLnu9g zSnm414<1$g+1Z(DzH()MR83D$Pgh-AmAqK5c8eOxfm$!xbP*hN5nSP%3uRfBbx{;W zwh?xXi1fK_GduOdl_LkBzzDK&gaaw6nIl#7NJIn(Lg*YCZVs8jv6yofH7Jmo6K^6P zDQk`i0~3Ra8?GUN965ka0l*^^F1V5`ZzfD-SuPff+(kn`WP}8L9(ndiR)C3JgshN( zAaW2Ljf(Lol))1iLh>x^C=|1{@3o%fBI+tztq9s z|H<#Y|IXVvwgeKu02K{H+SZ)44Jkl(oL%XP(%cxulqpPSyH{=;9zSNwTeG^ZLYuLm z-$-(Q{_|gbd2)I-w^t`~@V@Obh_DrAs!jz%6hv2`DN0geP(d|Ae*qpI zhP}G!S0K=4`U`;lPzN9((NNS4rZpt+LvsTSO+bJVEV4SVgtU=AeC-O+A^QCyj|`C# z0GW=>3X&tNvZ3)Fe*~YQKBlC zNZYmn#ZnJI>>UuYcisob-g(FD2DI76YXFGg5cBX9Ff*9JU@9jWo{-H&n2=;M`2;4! zp@*J9jlnU13dJOnGuj4DlT|!W;R@%RB@+?$&N-J-N-3dd$Am

Vjut!wsv(5D?fo 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 z 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%0D` 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 Date: Fri, 16 Mar 2018 07:47:47 +0800 Subject: [PATCH 018/120] [#27] Charts panel component (#33) * ChartsPanel: Make a new UI component for drawing charts * ChartPanel: Add sample data * Prepare for integration with web API --- config/checkstyle/suppressions.xml | 1 + .../model/CryptoCompareHistoHourObject.java | 79 +++++++++++++++++ .../java/seedu/address/ui/ChartsPanel.java | 85 +++++++++++++++++++ src/main/resources/view/ChartsPanel.fxml | 18 ++++ src/main/resources/view/DarkTheme.css | 8 ++ 5 files changed, 191 insertions(+) create mode 100644 src/main/java/seedu/address/model/CryptoCompareHistoHourObject.java create mode 100644 src/main/java/seedu/address/ui/ChartsPanel.java create mode 100644 src/main/resources/view/ChartsPanel.fxml diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml index b2e7fdbc3a00..3836ca7b0789 100644 --- a/config/checkstyle/suppressions.xml +++ b/config/checkstyle/suppressions.xml @@ -6,4 +6,5 @@ + diff --git a/src/main/java/seedu/address/model/CryptoCompareHistoHourObject.java b/src/main/java/seedu/address/model/CryptoCompareHistoHourObject.java new file mode 100644 index 000000000000..5f4df7073e84 --- /dev/null +++ b/src/main/java/seedu/address/model/CryptoCompareHistoHourObject.java @@ -0,0 +1,79 @@ +package seedu.address.model; + +import java.util.ArrayList; +import java.util.Date; + +/** + * Stores the data for a single API return object for historical data, obtained from + * the CryptoCompare API. + */ +public class CryptoCompareHistoHourObject { + + /* + API Return format: + { + "Response":"Success", + "Type":100, + "Aggregated":false, + "Data":[ + { + "time":1452592800, + "close":0.00258, + "high":0.002629, + "low":0.002412, + "open":0.002591, + "volumefrom":160178.74, + "volumeto":403.76 + }, { ... } ... + ], + "TimeTo":1452679200, + "TimeFrom":1452592800, + "FirstValueInArray":true, + "ConversionType": { "type":"direct", "conversionSymbol":"" } + } + */ + + /** + * Inner class for the data points + */ + private static class CDataObject { + private long time; + private double close; + private double high; + private double low; + private double open; + private double volumefrom; + private double volumeto; + } + private CDataObject[] Data; + private long TimeTo; + private long TimeFrom; + + /** + * Get the timestamp data + * @return x-Axis data + */ + public ArrayList getTimeAxisData() { + ArrayList result = new ArrayList<>(); + + for (CDataObject dataObject : Data) { + result.add(new Date(dataObject.time)); + } + + return result; + } + + /** + * Get the price history (per day open) data + * @return y-Axis data + */ + public ArrayList getPriceHistoryData() { + ArrayList result = new ArrayList<>(); + + for (CDataObject dataObject : Data) { + result.add(dataObject.open); + } + + return result; + } +} diff --git a/src/main/java/seedu/address/ui/ChartsPanel.java b/src/main/java/seedu/address/ui/ChartsPanel.java new file mode 100644 index 000000000000..85c7564ee1c9 --- /dev/null +++ b/src/main/java/seedu/address/ui/ChartsPanel.java @@ -0,0 +1,85 @@ +package seedu.address.ui; + +import java.text.DateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; + +import javafx.fxml.FXML; +import javafx.scene.chart.CategoryAxis; +import javafx.scene.chart.LineChart; +import javafx.scene.chart.NumberAxis; +import javafx.scene.chart.XYChart.Data; +import javafx.scene.chart.XYChart.Series; +import javafx.scene.layout.Region; + +/** + * The charts panel used to display graphs + */ +public class ChartsPanel extends UiPart { + + public static final String FXML = "ChartsPanel.fxml"; + + @FXML + private CategoryAxis xAxis; + + @FXML + private NumberAxis yAxis; + + @FXML + private LineChart priceChart; + + private final ArrayList testDataX = new ArrayList<>(Arrays.asList( + new Date(1452592800000L), + new Date(1452596400000L), + new Date(1452600000000L), + new Date(1452603600000L), + new Date(1452607200000L), + new Date(1452610800000L), + new Date(1452614400000L), + new Date(1452618000000L), + new Date(1452621600000L) + )); + private final ArrayList testDataY = new ArrayList<>(Arrays.asList( + 0.002591, + 0.002580, + 0.002617, + 0.002563, + 0.002597, + 0.002576, + 0.002555, + 0.002575, + 0.002719 + )); + + public ChartsPanel() { + super(FXML); + addPlot(testDataX, testDataY); + } + + /** + * Add a new plot to the graph + */ + private void addPlot(ArrayList xAxis, ArrayList yAxis) { + Series dataSeries = new Series(); + dataSeries.setName("Price History Series"); + populateData(dataSeries, xAxis, yAxis); + + priceChart.getData().add(dataSeries); + priceChart.setCreateSymbols(false); + } + + /** + * Add the data from the provided lists to the data series + * @param dataSeries + * @param xAxis + * @param yAxis + */ + private void populateData(Series dataSeries, ArrayList xAxis, ArrayList yAxis) { + assert (xAxis.size() == yAxis.size()); + for (int i = 0; i < xAxis.size(); i++) { + final String date = DateFormat.getInstance().format(xAxis.get(i)); + dataSeries.getData().add(new Data(date, yAxis.get(i))); + } + } +} diff --git a/src/main/resources/view/ChartsPanel.fxml b/src/main/resources/view/ChartsPanel.fxml new file mode 100644 index 000000000000..7eab73411197 --- /dev/null +++ b/src/main/resources/view/ChartsPanel.fxml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index afc823d6d7bc..e0a8da1e3e5e 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -327,6 +327,14 @@ -fx-text-fill: white; } +.chart-pane, .chart-plot-background { + -fx-background-color: #222222; +} + +#priceChart .chart-series-line { + -fx-stroke-width: 1px !important; +} + #filterField, #personListPanel, #personWebpage { -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); } From 27102007a421ec3190e4b820f874978f528ce560 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 16 Mar 2018 16:06:35 +0800 Subject: [PATCH 019/120] v1.1: Fix warnings (#42) * ChartsPanel: Unchecked assignment to generics * Fix Checkstyle warnings --- src/main/java/seedu/address/commons/util/JsonUtil.java | 2 +- src/main/java/seedu/address/ui/ChartsPanel.java | 8 ++++---- src/test/java/seedu/address/ui/StatusBarFooterTest.java | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/address/commons/util/JsonUtil.java b/src/main/java/seedu/address/commons/util/JsonUtil.java index c330d33fa117..eb67525f843d 100644 --- a/src/main/java/seedu/address/commons/util/JsonUtil.java +++ b/src/main/java/seedu/address/commons/util/JsonUtil.java @@ -52,7 +52,7 @@ static T deserializeObjectFromJsonFile(File jsonFile, Class classOfObject return fromJsonString(FileUtil.readFromFile(jsonFile), classOfObjectToDeserialize); } - @SuppressWarnings( "unchecked" ) + @SuppressWarnings("unchecked") static List deserializeListOfObjectsFromJsonFile(File jsonFile, Class classOfObjectToDeserialize) throws IOException, ClassNotFoundException { Class arrayClass = (Class) Class.forName("[L" + classOfObjectToDeserialize.getName() + ";"); diff --git a/src/main/java/seedu/address/ui/ChartsPanel.java b/src/main/java/seedu/address/ui/ChartsPanel.java index 85c7564ee1c9..bf38190f7086 100644 --- a/src/main/java/seedu/address/ui/ChartsPanel.java +++ b/src/main/java/seedu/address/ui/ChartsPanel.java @@ -27,7 +27,7 @@ public class ChartsPanel extends UiPart { private NumberAxis yAxis; @FXML - private LineChart priceChart; + private LineChart priceChart; private final ArrayList testDataX = new ArrayList<>(Arrays.asList( new Date(1452592800000L), @@ -61,7 +61,7 @@ public ChartsPanel() { * Add a new plot to the graph */ private void addPlot(ArrayList xAxis, ArrayList yAxis) { - Series dataSeries = new Series(); + Series dataSeries = new Series<>(); dataSeries.setName("Price History Series"); populateData(dataSeries, xAxis, yAxis); @@ -75,11 +75,11 @@ private void addPlot(ArrayList xAxis, ArrayList yAxis) { * @param xAxis * @param yAxis */ - private void populateData(Series dataSeries, ArrayList xAxis, ArrayList yAxis) { + private void populateData(Series dataSeries, ArrayList xAxis, ArrayList yAxis) { assert (xAxis.size() == yAxis.size()); for (int i = 0; i < xAxis.size(); i++) { final String date = DateFormat.getInstance().format(xAxis.get(i)); - dataSeries.getData().add(new Data(date, yAxis.get(i))); + dataSeries.getData().add(new Data<>(date, yAxis.get(i))); } } } diff --git a/src/test/java/seedu/address/ui/StatusBarFooterTest.java b/src/test/java/seedu/address/ui/StatusBarFooterTest.java index f4fed1632a3b..61af73839621 100644 --- a/src/test/java/seedu/address/ui/StatusBarFooterTest.java +++ b/src/test/java/seedu/address/ui/StatusBarFooterTest.java @@ -31,7 +31,7 @@ public class StatusBarFooterTest extends GuiUnitTest { private static final Clock originalClock = StatusBarFooter.getClock(); private static final Clock injectedClock = Clock.fixed(Instant.now(), ZoneId.systemDefault()); - private static AddressBookChangedEvent EVENT_ADDED; + private static AddressBookChangedEvent event_ADDED; private StatusBarFooterHandle statusBarFooterHandle; @@ -56,7 +56,7 @@ public void setUp() throws Exception { AddressBook tempAddressBook = new AddressBook(); tempAddressBook.addPerson(TypicalPersons.ALICE); - EVENT_ADDED = new AddressBookChangedEvent(tempAddressBook); + event_ADDED = new AddressBookChangedEvent(tempAddressBook); } @Test @@ -73,9 +73,9 @@ public void display() { String.format(SYNC_STATUS_UPDATED, new Date(injectedClock.millis()).toString())); // after address book is updated again - postNow(EVENT_ADDED); + postNow(event_ADDED); assertStatusBarContent(RELATIVE_PATH + STUB_SAVE_LOCATION, - String.format(ITEM_COUNT_STATUS, EVENT_ADDED.data.getPersonList().size()), + String.format(ITEM_COUNT_STATUS, event_ADDED.data.getPersonList().size()), String.format(SYNC_STATUS_UPDATED, new Date(injectedClock.millis()).toString())); } From 746c28d75abcf2bedbc820e0366c967160ded232 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 16 Mar 2018 16:11:51 +0800 Subject: [PATCH 020/120] Version 1.1 released (#48) --- src/main/java/seedu/address/MainApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index fa0800d55cb9..85173abe267a 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -40,7 +40,7 @@ */ public class MainApp extends Application { - public static final Version VERSION = new Version(0, 6, 0, true); + public static final Version VERSION = new Version(1, 1, 0, true); private static final Logger logger = LogsCenter.getLogger(MainApp.class); From ca959c7554e8c22b6d6a41325f648578e145b3cc Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Fri, 16 Mar 2018 19:00:13 +0800 Subject: [PATCH 021/120] [#36] Merge browser window (#47) * BrowserWindow: Make this handle both help and web pages * MainWindow#handleHelp(): Use `BrowserWindow' for help page * Refactor jUnit tests to use `BrowserWindow' instead of `HelpWindow' --- .../java/seedu/address/ui/BrowserWindow.java | 39 ++++++++++- .../java/seedu/address/ui/HelpWindow.java | 64 ------------------- .../java/seedu/address/ui/MainWindow.java | 2 +- ...owHandle.java => BrowserWindowHandle.java} | 8 +-- .../guitests/guihandles/MainMenuHandle.java | 4 +- .../seedu/address/ui/BrowserWindowTest.java | 33 ++++++++++ .../java/seedu/address/ui/HelpWindowTest.java | 33 ---------- .../systemtests/HelpCommandSystemTest.java | 8 +-- 8 files changed, 80 insertions(+), 111 deletions(-) delete mode 100644 src/main/java/seedu/address/ui/HelpWindow.java rename src/test/java/guitests/guihandles/{HelpWindowHandle.java => BrowserWindowHandle.java} (75%) create mode 100644 src/test/java/seedu/address/ui/BrowserWindowTest.java delete mode 100644 src/test/java/seedu/address/ui/HelpWindowTest.java diff --git a/src/main/java/seedu/address/ui/BrowserWindow.java b/src/main/java/seedu/address/ui/BrowserWindow.java index 006e19eafdf4..31094941149b 100644 --- a/src/main/java/seedu/address/ui/BrowserWindow.java +++ b/src/main/java/seedu/address/ui/BrowserWindow.java @@ -3,19 +3,25 @@ import java.util.logging.Logger; import javafx.fxml.FXML; +import javafx.scene.image.Image; import javafx.scene.web.WebView; import javafx.stage.Stage; import seedu.address.commons.core.LogsCenter; /** - * Controller for a help page + * Controller for a browser page */ public class BrowserWindow extends UiPart { public static final String USERGUIDE_FILE_PATH = "/docs/UserGuide.html"; private static final Logger logger = LogsCenter.getLogger(BrowserWindow.class); + private static final Image HELP_ICON = new Image("/images/help_icon.png"); + private static final Image BROWSER_ICON = new Image("/images/address_book_32.png"); + private static final String HELP_TITLE = "Help"; + private static final String BROWSER_TITLE = "Browser"; private static final String FXML = "BrowserWindow.fxml"; + private static final int ICON_INDEX = 0; @FXML private WebView browser; @@ -27,8 +33,9 @@ public class BrowserWindow extends UiPart { */ public BrowserWindow(Stage root, String url) { super(FXML, root); - - browser.getEngine().load(url); + String loadUrl; + setBrowserTopBar(url); + browser.getEngine().load(getBrowserUrl(url)); } /** @@ -60,4 +67,30 @@ public void show() { logger.fine("Showing help page about the application."); getRoot().show(); } + + /** + * Sets the the top bar of the BrowserWindow based on the URL + * @param url input link + */ + private void setBrowserTopBar(String url) { + if (url == USERGUIDE_FILE_PATH) { + this.getRoot().getIcons().add(ICON_INDEX, HELP_ICON); + this.getRoot().setTitle(HELP_TITLE); + } else { + this.getRoot().getIcons().add(ICON_INDEX, BROWSER_ICON); + this.getRoot().setTitle(BROWSER_TITLE); + } + } + + /** + * @param url input link + * @return The URL link that the browser should open + */ + private String getBrowserUrl(String url) { + if (url == USERGUIDE_FILE_PATH) { + return getClass().getResource(USERGUIDE_FILE_PATH).toString(); + } else { + return url; + } + } } diff --git a/src/main/java/seedu/address/ui/HelpWindow.java b/src/main/java/seedu/address/ui/HelpWindow.java deleted file mode 100644 index 5254a1b3bbcb..000000000000 --- a/src/main/java/seedu/address/ui/HelpWindow.java +++ /dev/null @@ -1,64 +0,0 @@ -package seedu.address.ui; - -import java.util.logging.Logger; - -import javafx.fxml.FXML; -import javafx.scene.web.WebView; -import javafx.stage.Stage; -import seedu.address.commons.core.LogsCenter; - -/** - * Controller for a help page - */ -public class HelpWindow extends UiPart { - - public static final String USERGUIDE_FILE_PATH = "/docs/UserGuide.html"; - - private static final Logger logger = LogsCenter.getLogger(HelpWindow.class); - private static final String FXML = "HelpWindow.fxml"; - - @FXML - private WebView browser; - - /** - * Creates a new HelpWindow. - * - * @param root Stage to use as the root of the HelpWindow. - */ - public HelpWindow(Stage root) { - super(FXML, root); - - String userGuideUrl = getClass().getResource(USERGUIDE_FILE_PATH).toString(); - browser.getEngine().load(userGuideUrl); - } - - /** - * Creates a new HelpWindow. - */ - public HelpWindow() { - this(new Stage()); - } - - /** - * Shows the help window. - * @throws IllegalStateException - *
    - *
  • - * if this method is called on a thread other than the JavaFX Application Thread. - *
  • - *
  • - * if this method is called during animation or layout processing. - *
  • - *
  • - * if this method is called on the primary stage. - *
  • - *
  • - * if {@code dialogStage} is already showing. - *
  • - *
- */ - public void show() { - logger.fine("Showing help page about the application."); - getRoot().show(); - } -} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index d861cd8c0b6a..0eaa2fe79944 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -167,7 +167,7 @@ GuiSettings getCurrentGuiSetting() { */ @FXML public void handleHelp() { - HelpWindow helpWindow = new HelpWindow(); + BrowserWindow helpWindow = new BrowserWindow(BrowserWindow.USERGUIDE_FILE_PATH); helpWindow.show(); } diff --git a/src/test/java/guitests/guihandles/HelpWindowHandle.java b/src/test/java/guitests/guihandles/BrowserWindowHandle.java similarity index 75% rename from src/test/java/guitests/guihandles/HelpWindowHandle.java rename to src/test/java/guitests/guihandles/BrowserWindowHandle.java index ec5fc547aa86..e6131844510d 100644 --- a/src/test/java/guitests/guihandles/HelpWindowHandle.java +++ b/src/test/java/guitests/guihandles/BrowserWindowHandle.java @@ -6,16 +6,16 @@ import javafx.stage.Stage; /** - * A handle to the {@code HelpWindow} of the application. + * A handle to the {@code BrowserWindow} of the application. */ -public class HelpWindowHandle extends StageHandle { +public class BrowserWindowHandle extends StageHandle { public static final String HELP_WINDOW_TITLE = "Help"; private static final String HELP_WINDOW_BROWSER_ID = "#browser"; - public HelpWindowHandle(Stage helpWindowStage) { - super(helpWindowStage); + public BrowserWindowHandle(Stage browserWindowStage) { + super(browserWindowStage); } /** diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index 0bc475c1d02b..ede8b9d22dfc 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -16,14 +16,14 @@ public MainMenuHandle(Node mainMenuNode) { } /** - * Opens the {@code HelpWindow} using the menu bar in {@code MainWindow}. + * Opens the {@code BrowserWindow} using the menu bar in {@code MainWindow}. */ public void openHelpWindowUsingMenu() { clickOnMenuItemsSequentially("Help", "F1"); } /** - * Opens the {@code HelpWindow} by pressing the shortcut key associated + * Opens the {@code BrowserWindow} by pressing the shortcut key associated * with the menu bar in {@code MainWindow}. */ public void openHelpWindowUsingAccelerator() { diff --git a/src/test/java/seedu/address/ui/BrowserWindowTest.java b/src/test/java/seedu/address/ui/BrowserWindowTest.java new file mode 100644 index 000000000000..c7201432be22 --- /dev/null +++ b/src/test/java/seedu/address/ui/BrowserWindowTest.java @@ -0,0 +1,33 @@ +package seedu.address.ui; + +import static org.junit.Assert.assertEquals; +import static seedu.address.ui.BrowserWindow.USERGUIDE_FILE_PATH; + +import java.net.URL; + +import org.junit.Before; +import org.junit.Test; +import org.testfx.api.FxToolkit; + +import guitests.guihandles.BrowserWindowHandle; +import javafx.stage.Stage; + +public class BrowserWindowTest extends GuiUnitTest { + + private BrowserWindow browserWindow; + private BrowserWindowHandle browserWindowHandle; + + @Before + public void setUp() throws Exception { + guiRobot.interact(() -> browserWindow = new BrowserWindow(BrowserWindow.USERGUIDE_FILE_PATH)); + Stage helpWindowStage = FxToolkit.setupStage((stage) -> stage.setScene(browserWindow.getRoot().getScene())); + FxToolkit.showStage(); + browserWindowHandle = new BrowserWindowHandle(helpWindowStage); + } + + @Test + public void display() { + URL expectedHelpPage = BrowserWindow.class.getResource(USERGUIDE_FILE_PATH); + assertEquals(expectedHelpPage, browserWindowHandle.getLoadedUrl()); + } +} diff --git a/src/test/java/seedu/address/ui/HelpWindowTest.java b/src/test/java/seedu/address/ui/HelpWindowTest.java deleted file mode 100644 index 68f9d81073e4..000000000000 --- a/src/test/java/seedu/address/ui/HelpWindowTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package seedu.address.ui; - -import static org.junit.Assert.assertEquals; -import static seedu.address.ui.HelpWindow.USERGUIDE_FILE_PATH; - -import java.net.URL; - -import org.junit.Before; -import org.junit.Test; -import org.testfx.api.FxToolkit; - -import guitests.guihandles.HelpWindowHandle; -import javafx.stage.Stage; - -public class HelpWindowTest extends GuiUnitTest { - - private HelpWindow helpWindow; - private HelpWindowHandle helpWindowHandle; - - @Before - public void setUp() throws Exception { - guiRobot.interact(() -> helpWindow = new HelpWindow()); - Stage helpWindowStage = FxToolkit.setupStage((stage) -> stage.setScene(helpWindow.getRoot().getScene())); - FxToolkit.showStage(); - helpWindowHandle = new HelpWindowHandle(helpWindowStage); - } - - @Test - public void display() { - URL expectedHelpPage = HelpWindow.class.getResource(USERGUIDE_FILE_PATH); - assertEquals(expectedHelpPage, helpWindowHandle.getLoadedUrl()); - } -} diff --git a/src/test/java/systemtests/HelpCommandSystemTest.java b/src/test/java/systemtests/HelpCommandSystemTest.java index 7e1bc80e2357..f291db676b0a 100644 --- a/src/test/java/systemtests/HelpCommandSystemTest.java +++ b/src/test/java/systemtests/HelpCommandSystemTest.java @@ -10,7 +10,7 @@ import org.junit.Test; import guitests.GuiRobot; -import guitests.guihandles.HelpWindowHandle; +import guitests.guihandles.BrowserWindowHandle; import seedu.address.logic.commands.DeleteCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.SelectCommand; @@ -77,10 +77,10 @@ public void openHelpWindow() { * Asserts that the help window is open, and closes it after checking. */ private void assertHelpWindowOpen() { - assertTrue(ERROR_MESSAGE, HelpWindowHandle.isWindowPresent()); + assertTrue(ERROR_MESSAGE, BrowserWindowHandle.isWindowPresent()); guiRobot.pauseForHuman(); - new HelpWindowHandle(guiRobot.getStage(HelpWindowHandle.HELP_WINDOW_TITLE)).close(); + new BrowserWindowHandle(guiRobot.getStage(BrowserWindowHandle.HELP_WINDOW_TITLE)).close(); getMainWindowHandle().focus(); } @@ -88,7 +88,7 @@ private void assertHelpWindowOpen() { * Asserts that the help window isn't open. */ private void assertHelpWindowNotOpen() { - assertFalse(ERROR_MESSAGE, HelpWindowHandle.isWindowPresent()); + assertFalse(ERROR_MESSAGE, BrowserWindowHandle.isWindowPresent()); } } From 52be10304455395398f0a3262e57031685281e33 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Mon, 19 Mar 2018 23:11:08 +0800 Subject: [PATCH 022/120] DeveloperGuide.adoc#App.B: Add Feature Contribution (#66) --- docs/DeveloperGuide.adoc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 9f6be748e958..fbcd514bd12e 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -810,6 +810,27 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *Value proposition*: manage cryptocurrencies faster than a typical mouse/GUI driven app +=== Feature contribution +*Eldon Chung* + +* Major: Search enhancement. Support for SQL-like queries with logical operators as well as additional search specifiers besides name, such as tags and price. This lets users manage their large portfolio easily through efficient filtering. +* Minor: Fetch news. Fetches news related to cryptocurrencies from sources such as RSS feeds. This lets users keep track of latest developments in the scene to aid their decision making. + +*Ewald Hew* + +* Major: Sync and notifications. Updates price data periodically and make notifications based on user-set rules. This helps users stay on top of what's happening and obtain important information at the right time. +* Minor: Charts panel for data visualization. This lets users analyse price trends for decision making. + +*Lai Cheng Yu* + +* Major: User experience. Create smoother workflow via GUI hints, view modes, command autocompletion, and data visualization. This helps users manage their portfolio quickly and efficiently, and lets them focus on the more important tasks. +* Minor: Data fetching system. Updates the price data, etc., in the model from a source. This lets users keep up to date on latest developments. + +*Neil Mehta* + +* Major: Organization options. Sorting options and groups. This lets users switch between different contexts to fit in with their objectives at the moment, and helps them focus on only what is relevant. +* Minor: Various refactoring work. + [appendix] == User Stories From 2ab8b8f394d9c64b9e7b0663542bf7c56eb0a720 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Tue, 20 Mar 2018 09:57:13 +0800 Subject: [PATCH 023/120] v1.2 Documentation (#64) --- README.adoc | 24 +-- docs/DeveloperGuide.adoc | 4 +- docs/LearningOutcomes.adoc | 265 ------------------------------- docs/UserGuide.adoc | 147 ++++++++++++----- docs/images/ext-link-icon.png | Bin 0 -> 259 bytes docs/stylesheets/asciidoctor.css | 25 ++- 6 files changed, 135 insertions(+), 330 deletions(-) delete mode 100644 docs/LearningOutcomes.adoc create mode 100644 docs/images/ext-link-icon.png diff --git a/README.adoc b/README.adoc index b95547caae03..7e2eb9ea353d 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,4 @@ -= Address Book (Level 4) += CoinBook ifdef::env-github,env-browser[:relfileprefix: docs/] https://travis-ci.org/CS2103JAN2018-F09-B3/main[image:https://travis-ci.org/CS2103JAN2018-F09-B3/main.svg?branch=master[Build Status]] @@ -13,29 +13,19 @@ ifndef::env-github[] image::images/Ui.png[width="600"] endif::[] -** This is a desktop Crypto Currency management portfolio called CoinBook - -** Meant for storing and keeping track of one’s cryptocurrency records +** This is a desktop Cryptocurrency management app for storing and keeping track of one’s cryptocurrency portfolio ** Has a GUI but most of the user interactions happen using CLI (Command Line Interface) -** Java application targeted at businessmen or investors who trade heavily and actively in cryptocurrency coins - -** Helps user to keep track of trades for multiple coins; useful for frequent trading - -** Provides decision making stats to equip user with the information necessary to trade - -** User won't have to check patterns and statistics on another platform other than the CoinBook - -** Displays price history of coin --> Allows user to see price changes over time +** Java application targeted at enthusiasts or investors who trade heavily and actively in cryptocurrencies -** View current price of crypto coin (based on 24 hour average) and the profit/loss the user stands to make if he sold the coin at the current moment +** Provides various statistics such as Relative Strength Index (RSI) and moving average convergence divergence (MACD) charts to aid users with their decision making -** Various statistics to aid decision making such as Relative Strength Index(RSI) and Moving average convergence divergence (MACD) charts +** User won't have to check news and statistics on another platform; CoinBook offers an integrated soluton -** Newsfeed for user to follow the news and happenings surrounding the coin +** Price history allows user to see price changes over time -** Allows the user to compare the price history based on newsfeed of any given coin. +** Newsfeed for user to keep up to date on relevant news and happenings == Site Map diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index fbcd514bd12e..9e5b7c4edb59 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - Developer Guide += CoinBook - Developer Guide :toc: :toc-title: :toc-placement: preamble @@ -12,7 +12,7 @@ ifdef::env-github[] endif::[] :repoURL: https://github.com/CS2103JAN2018-F09-B3/main -By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` +By: `Team CS2103JAN2018-F09-B3` Since: `Feb 2018` Licence: `MIT` == Setting up diff --git a/docs/LearningOutcomes.adoc b/docs/LearningOutcomes.adoc deleted file mode 100644 index cf153ba8b38f..000000000000 --- a/docs/LearningOutcomes.adoc +++ /dev/null @@ -1,265 +0,0 @@ -= Learning Outcomes -:toc: macro -:toc-title: -:toclevels: 1 -:sectnums: -:sectnumlevels: 1 -:imagesDir: images -:stylesDir: stylesheets -:repoURL: https://github.com/se-edu/addressbook-level4/tree/master - -After studying this code and completing the corresponding exercises, you should be able to, - -toc::[] - -''' - -== Use High-Level Designs `[LO-HighLevelDesign]` - -Note how the <> describes the high-level design using an _Architecture Diagrams_ and high-level sequence diagrams. - -*Resources* - -* https://se-edu.github.io/se-book/architecture/[se-edu/se-book: Design: Architecture] -* https://se-edu.github.io/se-book/design/introduction/multilevelDesign/[se-edu/se-book: Design: Introduction: Multi-Level Design] - -''' - -== Use Event-Driven Programming `[LO-EventDriven]` - -Note how the <> uses events to communicate with components without needing a direct coupling. Also note how the link:{repoURL}/src/main/java/seedu/address/commons/core/index/EventsCenter.java[`EventsCenter.java`] acts as an event dispatcher to facilitate communication between event creators and event consumers. - -*Resources* - -* https://se-edu.github.io/se-book/architecture/architecturalStyles/eventDriven/[se-edu/se-book: Design: Architecture: Architecture Styles: Event-Driven Architectural Style] - -''' - -== Use API Design `[LO-ApiDesign]` - -Note how components of AddressBook have well-defined APIs. For example, the API of the `Logic` component is given in the link:{repoURL}/src/main/java/seedu/address/logic/Logic.java[`Logic.java`] -image:LogicClassDiagram.png[width="800"] - -*Resources* - -* https://se-edu.github.io/se-book/reuse/apis/[se-edu/se-book: Implementation: Reuse: APIs] - -''' - -== Use Assertions `[LO-Assertions]` - -Note how the AddressBook app uses Java ``assert``s to verify assumptions. - -*Resources* - -* https://se-edu.github.io/se-book/errorHandling/assertions/[se-edu/se-book: Implementation: Error Handling: Assertions] - -=== Exercise: Add more assertions - -* Make sure assertions are enabled in your IDE by forcing an assertion failure (e.g. add `assert false;` somewhere in the code and run the code to ensure the runtime reports an assertion failure). -* Add more assertions to AddressBook as you see fit. - - -''' - -== Use Logging `[LO-Logging]` - -Note <>. - -*Resources* - -* https://se-edu.github.io/se-book/errorHandling/logging/[se-edu/se-book: Implementation: Error Handling: Logging] - -=== Exercise: Add more logging - -Add more logging to AddressBook as you see fit. - - -''' - -== Use Defensive Coding `[LO-DefensiveCoding]` - -Note how AddressBook uses the `ReadOnly*` interfaces to prevent objects being modified by clients who are not supposed to modify them. - -*Resources* - -* https://se-edu.github.io/se-book/errorHandling/defensiveProgramming/[se-edu/se-book: Implementation: Error Handling: Defensive Programming] - -=== Exercise: identify more places for defensive coding - -Analyze the AddressBook code/design to identify, - -* where defensive coding is used -* where the code can be more defensive - -''' - -== Use Build Automation `[LO-BuildAutomation]` - -Note <>. - -*Resources* - -* https://se-edu.github.io/se-book/integration/buildAutomation/what/[se-edu/se-book: Implementation: Integration: Build Automation: What] - -=== Exercise: Use gradle to run tasks - -* Use gradle to do these tasks: Run all tests in headless mode, build the jar file. - -=== Exercise: Use gradle to manage dependencies - -* Note how the build script `build.gradle` file manages third party dependencies such as ControlsFx. Update that file to manage a third-party library dependency. - - -''' - -== Use Continuous Integration `[LO-ContinuousIntegration]` - -Note <>. (https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]]) - -*Resources* - -* https://se-edu.github.io/se-book/integration/buildAutomation/continuousIntegrationDeployment/[se-edu/se-book: Implementation: Integration: Build Automation: CI & CD] - -=== Exercise: Use Travis in your own project - -* Set up Travis to perform CI on your own fork. - - -''' - -== Use Code Coverage `[LO-CodeCoverage]` - -Note how our CI server <>. (https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]]) After <> for your project, you can visit Coveralls website to find details about the coverage of code pushed to your repo. https://coveralls.io/github/se-edu/addressbook-level4?branch=master[Here] is an example. - -*Resources* - -* https://se-edu.github.io/se-book/testing/testCoverage/[se-edu/se-book: QA: Testing: Test Coverage] - -=== Exercise: Use the IDE to measure coverage locally - -* Use the IDE to measure code coverage of your tests. - -''' - -== Apply Test Case Design Heuristics `[LO-TestCaseDesignHeuristics]` - -The link:{repoURL}/src/test/java/seedu/address/commons/util/StringUtilTest.java[`StringUtilTest.java`] -class gives some examples of how to use _Equivalence Partitions_, _Boundary Value Analysis_, and _Test Input Combination Heuristics_ to improve the efficiency and effectiveness of test cases testing the link:../src/main/java/seedu/address/commons/util/StringUtil.java[`StringUtil.java`] class. - -*Resources* - -* https://se-edu.github.io/se-book/testCaseDesign/[se-edu/se-book: QA: Test Case Design] - -=== Exercise: Apply Test Case Design Heuristics to other places - -* Use the test case design heuristics mentioned above to improve test cases in other places. - -''' - -== Write Integration Tests `[LO-IntegrationTests]` - -Consider the link:{repoURL}/src/test/java/seedu/address/storage/StorageManagerTest.java[`StorageManagerTest.java`] class. - -* Test methods `prefsReadSave()` and `addressBookReadSave()` are integration tests. Note how they simply test if The `StorageManager` class is correctly wired to its dependencies. -* Test method `handleAddressBookChangedEvent_exceptionThrown_eventRaised()` is a unit test because it uses _dependency injection_ to isolate the SUT `StorageManager#handleAddressBookChangedEvent(...)` from its dependencies. - -Compare the above with link:{repoURL}/src/test/java/seedu/address/logic/LogicManagerTest.java[`LogicManagerTest`]. Some of the tests in that class (e.g. `execute_*` methods) are neither integration nor unit tests. They are _integration + unit_ tests because they not only check if the LogicManager is correctly wired to its dependencies, but also checks the working of its dependencies. For example, the following two lines test the `LogicManager` but also the `Parser`. - -[source,java] ----- -@Test -public void execute_invalidCommandFormat_throwsParseException() { - ... - assertParseException(invalidCommand, MESSAGE_UNKNOWN_COMMAND); - assertHistoryCorrect(invalidCommand); -} ----- - -*Resources* - -* https://se-edu.github.io/se-book/testing/testingTypes/[se-edu/se-book: QA: Testing: Testing Types] - -=== Exercise: Write unit and integration tests for the same method. - -* Write a unit test for a high-level method somewhere in the code base (or a new method you wrote). -* Write an integration test for the same method. - -''' - -== Write System Tests `[LO-SystemTesting]` - -Note how tests below `src/test/java/systemtests` package (e.g link:{repoURL}/src/test/java/systemtests/AddCommandSystemTest.java[`AddCommandSystemTest.java`]) are system tests because they test the entire system end-to-end. - -*Resources* - -* https://se-edu.github.io/se-book/testing/testingTypes/[se-edu/se-book: QA: Testing: Testing Types] - -=== Exercise: Write more system tests - -* Write system tests for the new features you add. - -''' - -== Automate GUI Testing `[LO-AutomateGuiTesting]` - -Note how this project uses TextFX library to automate GUI testing, including <>. - -=== Exercise: Write more automated GUI tests - -* Covered by `[LO-SystemTesting]` - -''' - -== Apply Design Patterns `[LO-DesignPatterns]` - -Here are some example design patterns used in the code base. - -* *Singleton Pattern* : link:{repoURL}/src/main/java/seedu/address/commons/core/EventsCenter.java[`EventsCenter.java`] is Singleton class. Its single instance can be accessed using the `EventsCenter.getInstance()` method. -* *Facade Pattern* : link:{repoURL}/src/main/java/seedu/address/storage/StorageManager.java[`StorageManager.java`] is not only shielding the internals of the Storage component from outsiders, it is mostly redirecting method calls to its internal components (i.e. minimal logic in the class itself). Therefore, `StorageManager` can be considered a Facade class. -* *Command Pattern* : The link:{repoURL}/src/main/java/seedu/address/logic/commands/Command.java[`Command.java`] and its sub classes implement the Command Pattern. -* *Observer Pattern* : The <> used by this code base employs the Observer pattern. For example, objects that are interested in events need to have the `@Subscribe` annotation in the class (this is similar to implementing an `\<>` interface) and register with the `EventsCenter`. When something noteworthy happens, an event is raised and the `EventsCenter` notifies all relevant subscribers. Unlike in the Observer pattern in which the `\<>` class is notifying all `\<>` objects, here the `\<>` classes simply raises an event and the `EventsCenter` takes care of the notifications. -* *MVC Pattern* : -** The 'View' part of the application is mostly in the `.fxml` files in the `src/main/resources/view` folder. -** `Model` component contains the 'Model'. However, note that it is possible to view the `Logic` as the model because it hides the `Model` behind it and the view has to go through the `Logic` to access the `Model`. -** Sub classes of link:{repoURL}/src/main/java/seedu/address/ui/UiPart.java[`UiPart`] (e.g. `PersonListPanel` ) act as 'Controllers', each controlling some part of the UI and communicating with the 'Model' (via the `Logic` component which sits between the 'Controller' and the 'Model'). -* *Abstraction Occurrence Pattern* : Not currently used in the app. - -*Resources* - -* https://se-edu.github.io/se-book/designPatterns/[se-edu/se-book: Design: Design Patterns] - -=== Exercise: Discover other possible applications of the patterns - -* Find other possible applications of the patterns to improve the current design. e.g. where else in the design can you apply the Singleton pattern? -* Discuss pros and cons of applying the pattern in each of the situations you found in the previous step. - -=== Exercise: Find more applicable patterns - -* Learn other _Gang of Four_ Design patterns to see if they are applicable to the app. - -''' - -== Use Static Analysis `[LO-StaticAnalysis]` - -Note how this project uses the http://checkstyle.sourceforge.net/[CheckStyle] static analysis tool to confirm compliance with the coding standard. - -*Resources* - -* https://se-edu.github.io/se-book/qualityAssurance/staticAnalysis/[se-edu/se-book: QA: Static Analysis] - -=== Exercise: Use CheckStyle locally to check style compliance - -* Install the CheckStyle plugin for your IDE and use it to check compliance of your code with our style rules (given in `/config/checkstyle/checkstyle.xml`). - -''' - -== Do Code Reviews `[LO-CodeReview]` - -* Note how some PRs in this project have been reviewed by other developers. Here is an https://github.com/se-edu/addressbook-level4/pull/147[example]. -* Also note how we have used https://www.codacy.com[Codacy] to do automate some part of the code review workload (https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]]) - - -=== Exercise: Review a PR - -* Review PRs created by team members. diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 11dd37015d27..f62bd90a013d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - User Guide += CoinBook - User Guide :toc: :toc-title: :toc-placement: preamble @@ -13,13 +13,29 @@ ifdef::env-github[] endif::[] :repoURL: https://github.com/CS2103JAN2018-F09-B3/main -By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` +By: `Team CS2103JAN2018-F09-B3` Since: `Feb 2018` Licence: `MIT` + +== How to Use this Guide +Markup:: +Text with special meaning look different. Here are the various types: +* Commands, filenames, and other miscellaneous keywords are `monospaced for emphasis` +* Glossary terms have a [gloss]#dotted underline# +* Keyboard keys are marked like kbd:[this] +** kbd:[Q] means to press the `Q` key +** kbd:[Ctrl]+kbd:[Q] means to hold down the `Ctrl` key and then press the `Q` key +** kbd:[Ctrl]kbd:[Q]kbd:[E] means to press the `Ctrl` key, then press the `Q` key, followed by the `E` key; holding down is not required +* Links are marked link:javascript:void(0);[blue with underline] +** Cross-ref links bring you to another part of the document, and look like link:javascript:void(0);[this] +** External cross-ref links bring you to another document, and look like [exref]#link:javascript:void(0);[this]# +** External links bring you to another website, and look like [ext]#link:javascript:void(0);[this]# + == Introduction -CoinBook is a desktop application that is made for users who prefer to work on a mouse-free, command line platform with minimal graphical user interface (GUI) support. -Our program allows you to store a portfolio of your cryptocurrency purchases as well as track the latest price trends and news, in addition to allowing for many -operations to simplify and expedite your management process such as profit calculation. +CoinBook is a desktop application that is made for users who prefer to work on a mouse-free, command line platform with minimal [gloss]#<># dependence. + +Coinbook allows you to store a portfolio of your cryptocurrency purchases as well as track the latest price trends and news, in addition to providing various +tools to simplify and expedite your management process such as profit calculation. == Quick Start @@ -27,21 +43,23 @@ operations to simplify and expedite your management process such as profit calcu + [NOTE] Having any Java 8 version is not enough. + -This app will not work with earlier versions of Java 8. +This app will not work with earlier versions of Java 8. + +You can obtain the latest version http://www.oracle.com/technetwork/java/javase/downloads/index.html[here] (Download JRE). + . Download the latest `addressbook.jar` link:{repoURL}/releases[here]. . Copy the file to the folder you want to use as the home folder for your CoinBook. -. Double-click the file to start the app. The GUI should appear in a few seconds. +. Double-click the file to start the app. The GUI should appear in a few seconds. (Fig. 1) + +.Startup Window image::Ui.png[width="790"] + -. Type the command in the command box and press kbd:[Enter] to execute it. + +. Type your commands in the command box and press kbd:[Enter] to execute it. + e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. . Some example commands you can try: * *`list`* : lists all Coins -* **`add`**`n/BTC a/100` : adds a Coin account named `BTC` to the CoinBook with an initial amount of 100 coins. -* **`buy`**`BTC 3` : adds 3 coins into the BTC account. +* *`buy`*`BTC 3` : adds 3 coins to the BTC account +* *`view`*`BTC` : view the details of the BTC account * *`exit`* : exits the app . Alternatively, you can type replace commands by their aliases which are shorter to achieve the same effect. For example: @@ -53,43 +71,40 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. [[Features]] == Features -==== -*Command Format* - -* Words in `UPPER_CASE` are the parameters to be supplied by the user. e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/ETH`. -* Items in square brackets are optional. e.g `n/NAME [t/TAG]` can be used as `n/BTC t/fav` or as `n/BTC`. -* Items with `…`​ after them can be used multiple times including zero times. e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/cheap`, `t/active t/fav` etc. -* Parameters can be in any order. e.g. if the command specifies `n/NAME a/VALUE`, `a/VALUE n/NAME` is also acceptable. -* Items in curly braces indicate multiple possibilities. e.g. `buy {NAME, TAG} AMOUNT`, is a command where the first parameter can either be a NAME or a TAG. + - [!] Bear in mind that if multiple items are tagged, then the command will be applied to all accounts under the same tag. -==== +.Command Format +**** +* Words in `UPPER_CASE` are the parameters to be supplied by the user. e.g. in `find NAME`, `NAME` is a parameter wh1ich can be used as `find ETH`. +* Options in square brackets are optional. e.g `NAME [t/TAG]` can be used as `BTC t/fav` or as `BTC`. +* Options with `...` after them can be used multiple times including zero times. e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/cheap`, `t/active t/fav` etc. +* If an option without `...` is used multiple times, only the latest one will be used. +* Parameters can be in any order. e.g. if the command specifies `t/TAG a/VALUE`, `a/VALUE t/TAG` is also acceptable. +* Items in curly braces indicate multiple possibilities. e.g. `buy {NAME, TAG} AMOUNT`, is a command where the first parameter can either be a NAME or a TAG. +**** === Viewing help : `help` / `?` -Format: `help` - -=== Adding a Coin account: `add` / `a` +.Format +---- +help +---- -Adds a Coin account to the address book + -Format: `add n/NAME a/AMOUNT [t/TAG]...` - -[TIP] -A Coin account can have any number of tags (including 0) - -Examples: - -* `add n/BTC a/50.50` -* `add n/ETH a/1000 t/fav` +Opens the help window. === Buying Coin for an account: `buy` / `b` -Adds value into a given Coin account. + -Format: `buy {INDEX, NAME, TAG} VALUE` +.Format +---- +buy {INDEX, NAME, CODE} VALUE +---- -Example: -* `buy BTC 0.5` +Adds value into the specified Coin account. -=== Selling Coin from an account: `sell` / `se` +.Example +---- +buy BTC 0.5 +---- + +=== Selling Coin from an account: `sell` / `s` Removes value from a given Coin account. + Format: `sell {INDEX, NAME, TAG} VALUE` @@ -134,10 +149,10 @@ Returns any accounts with the "fav" tag. + Returns any accounts that either currently cost more than 500 dollars and was previously tagged as FAV, or which the the account has less than 20 Coins left. -=== Selecting an account : `select` / `s` +=== Viewing details of an account : `view` / `v` Selects the account identified by the index number used in the most recent listing. + -Format: `select INDEX` +Format: `view INDEX` **** * Selects the account and loads the relevant information related to the account at the specified `INDEX`. The information includes: @@ -227,14 +242,19 @@ Format: `clear` Adds a tag attribute to an entry in the CoinBook, so that they can be grouped for other commands. + Format: `tag {INDEX, NAME} TAG_NAME` +**** -Example: - -* `tag 1 fav` + +**** +`tag 1 fav` + `tag 3 fav` + `tag 5 fav` + The first, third, and fifth entry in the list is now tagged with the `fav` attribute. +[TIP] +A Coin account can have any number of tags (including 0) +[NOTE] + Bear in mind that if multiple items are tagged, then the command will be applied to all accounts under the same tag. + === Setting up notifications : `notifyme` / `n` Sets a condition that triggers a desktop notification when met. + @@ -299,3 +319,44 @@ _{explain how the user can enable/disable data encryption}_ * *Update* : `update` + * *Exit* : `exit` + +[appendix] +== Glossary + +[[alias]] Alias:: +Alternate names for commands. + +[[coinmarketcap]] Coinmarketcap:: +A website that hosts Cryptocurrency information, including cap rankings, prices, volumes and circulating supplies. + +[[cryptopanic]] Cryptopanic:: +An online news platform for cryptocurrencies. + +[[exponential-moving-average]] Exponential moving average:: +A moving average window of closing prices over a past period that places more weight on the more recent days considered. Since cryptocurrencies do not have a closing price, this defaults to their price at 23:59:59 at the timezone of the exchange. + +[[gui]] Graphical User Interface:: +A type of user interface that lets users interact with the app through visual indicators, icons, mouse actions, etc. as compared to typed commands. + +[[MACD]] Moving Average Convergence Divergence (MACD):: +Moving Average Convergence Divergence is an indicator that is the difference between two moving averages. + +[[macros]] Macros:: +A set of commands that can be executed under a single custom command is a macro. For example, if a user wishes to only view coins of a specific tag in a certain sorted order, he can set create a custom macro (e.g. `sortfavourites`) such that upon entering it at a command, the program will internally first call the `search` command on the user set tags, then call the `sort` command. + +[[mainstream-os]] Mainstream OS:: +Windows, Linux, Unix, OS-X + +[[resistance-lines]] Resistance Lines:: +When the price of a coin has risen to a certain amount, the price may eventually sustain its value at this point for a period of time. This is when it obtains "resistance". + +[[RSI]] Relative Strength Index:: +Relative Strength Index is used as an indicator to compare the current strength of cryptocurrency versus its historical strength. The strength is calculated based on the closing prices over a period of time. + +[[sensitive-data]] Sensitive Data:: +Refers to data that is not meant to be shared with others. + +[[simple-moving-average]] Simple Moving Average:: +A moving average window of closing prices over a past period that places equal weight on all days considered. Since cryptocurrencies do not have a closing price, this defaults to their price at 23:59:59 at the timezone of the exchange. + +[[support-lines]] Support lines:: +When the price of a coin has fallen to a certain amount, the price may eventually sustain its value at this point for a period of time. This is when it obtains "support". diff --git a/docs/images/ext-link-icon.png b/docs/images/ext-link-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5be4d2c73ced79e2f1fed0e6b5bf11746ffb2e71 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GOFdm2Ln>}1B`63QJenNB6Ky5$p?cuQ_i$I^O%AF|4I&;v z44!|P6y|lTVPu)Hz{KMt+l06YnhHFjd*tti&0w2wve%)Ne}S2lgJ|;+dxnjQSKM~6 zvCT-*;BW|f!*S%N!%r6x-i!pM6K)fd798R}@h{=vGN~0DDMid?mTF5BLJkOS;ksec z;IqbkdP~(lIj#OjOB@v9_=~gy1b3;*FZlF?v4Me^!A(^EKEIHX4A8+0p00i_>zopr E0Le{OIRF3v literal 0 HcmV?d00001 diff --git a/docs/stylesheets/asciidoctor.css b/docs/stylesheets/asciidoctor.css index 36590bf346cd..acfa60c2adab 100644 --- a/docs/stylesheets/asciidoctor.css +++ b/docs/stylesheets/asciidoctor.css @@ -149,7 +149,7 @@ p a>code:hover{color:rgba(0,0,0,.9)} #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} #toc li{line-height:1.3334;margin-top:.3334em} -#toc a{text-decoration:none} +#toc a{text-decoration:none;} #toc a:active{text-decoration:underline} #toctitle{color:#7a2518;font-size:1.2em} @media only screen and (min-width:768px){#toctitle{font-size:1.375em} @@ -181,7 +181,8 @@ body.toc2.toc-right{padding-left:0;padding-right:20em}} #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} .audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} -.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} +.imageblock {text-align: center} +.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:center;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} .paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} @@ -197,7 +198,7 @@ table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inh .sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} .sidebarblock>:first-child{margin-top:0} .sidebarblock>:last-child{margin-bottom:0} -.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} +.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:left} .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} .literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} .sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} @@ -405,3 +406,21 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b .print-only{display:block!important} .hide-for-print{display:none!important} .show-for-print{display:inherit!important}} + +/* Custom styles */ + +.gloss, .gloss > a { + color: midnightblue; + border-bottom: 1px dashed #999; + text-decoration: none; + } +.exref, .exref > a { + font-weight:bold; +} +.ext { + background: url(../images/ext-link-icon.png) center right no-repeat; + padding-right: 13px; +} +.ext > a { + font-weight:bold; +} From dab145d9046bffe5c675c8511d98a4e4a6957394 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 23 Mar 2018 01:44:35 +0800 Subject: [PATCH 024/120] [#41] UsingCheckstyle.adoc: Add crucial step into instructions (#73) --- docs/UsingCheckstyle.adoc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/UsingCheckstyle.adoc b/docs/UsingCheckstyle.adoc index ba9b76d3918d..5f8fec743a52 100644 --- a/docs/UsingCheckstyle.adoc +++ b/docs/UsingCheckstyle.adoc @@ -9,30 +9,30 @@ endif::[] == Configuring Checkstyle-IDEA -. Install the Checkstyle-IDEA plugin by going to `File` > `Settings` (Windows/Linux), or `IntelliJ IDEA` > `Preferences...` (macOS). + +. Install the Checkstyle-IDEA plugin by going to `File` -> `Settings` (Windows/Linux), or `IntelliJ IDEA` -> `Preferences...` (macOS). + Select `Plugins`, press `Browse Repository`, and find the plugin. + Restart the IDE to complete the installation. -. Click `File` > `Settings...` > `Other Settings` > `Checkstyle` -. Set `Scan Scope` to `Only Java sources (including tests)`, so that the plugin will run checkstyle for our test source codes as well -. Ensure that the `Checkstyle version` is set to `8.1`. This is the same version that we are using inside Gradle, so that you won't get any errors due to version incompatibility +. Click `File` -> `Settings...` -> `Other Settings` -> `Checkstyle`. +. Set `Scan Scope` to `Only Java sources (including tests)`, so that the plugin will run checkstyle for our test source codes as well. +. Ensure that the `Checkstyle version` is set to `8.1`. Otherwise, set the correct value and click `Apply`. This is the same version that we are using inside Gradle, so that you won't get any errors due to version incompatibility. + image::checkstyle-idea-scan-scope.png[width="500"] -. Click the plus sign under `Configuration File` -. Enter an arbitrary description e.g. addressbook -. Select `Use a local Checkstyle file` -. Use the checkstyle configuration file found at `config/checkstyle/checkstyle.xml` -. Click `Next` > `Finish` -. Mark `Active` for the newly imported check configuration +. Click the plus sign under `Configuration File`. +. Enter an arbitrary description e.g. addressbook. +. Select `Use a local Checkstyle file`. +. Use the checkstyle configuration file found at `config/checkstyle/checkstyle.xml`. +. Click `Next` -> `Finish`. +. Mark `Active` for the newly imported check configuration. + image::checkstyle-idea-configuration.png[width="700"] -. Click `OK` +. Click `OK`. == Troubleshooting Checkstyle-IDEA **Problem: When importing `checkstyle.xml`, Checkstyle-IDEA plugin complains that `The Checkstyle rules file could not be parsed. ... The file has been blacklisted for 60s.`** * Reason: `checkstyle.xml` is written for a particular version, but the plugin was not configured to the correct version. -* Solution: Ensure that you have selected the correct `Checkstyle version`, that matches the version in `build.gradle`, as `checkstyle.xml` is written for Gradle's checkstyle. +* Solution: Ensure that you have selected the correct `Checkstyle version`, that matches the version in `build.gradle`, as `checkstyle.xml` is written for Gradle's checkstyle. Click `Apply` to apply the changes before retrying the file load. **Problem: After setting up `checkstyle.xml`, Checkstyle-IDEA plugin does not seem to highlight the errors / real-time scanning seems broken.** From 3d3f6ed0569f49d9e250bd847880a415faa5ad1a Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Fri, 23 Mar 2018 07:33:42 +0800 Subject: [PATCH 025/120] [#40] UserGuide.adoc: Mark features (#76) --- docs/UserGuide.adoc | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index f62bd90a013d..efe14f271fd9 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -78,7 +78,7 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. * Options with `...` after them can be used multiple times including zero times. e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/cheap`, `t/active t/fav` etc. * If an option without `...` is used multiple times, only the latest one will be used. * Parameters can be in any order. e.g. if the command specifies `t/TAG a/VALUE`, `a/VALUE t/TAG` is also acceptable. -* Items in curly braces indicate multiple possibilities. e.g. `buy {NAME, TAG} AMOUNT`, is a command where the first parameter can either be a NAME or a TAG. +* Items in curly braces indicate multiple possibilities. e.g. `buy {NAME, TAG} AMOUNT`, is a command where the first parameter can either be a NAME or a TAG. **** === Viewing help : `help` / `?` @@ -90,7 +90,7 @@ help Opens the help window. -=== Buying Coin for an account: `buy` / `b` +=== Buying Coin for an account: `buy` / `b` `[coming in v1.5]` .Format ---- @@ -104,7 +104,7 @@ Adds value into the specified Coin account. buy BTC 0.5 ---- -=== Selling Coin from an account: `sell` / `s` +=== Selling Coin from an account: `sell` / `s` `[coming in v1.5]` Removes value from a given Coin account. + Format: `sell {INDEX, NAME, TAG} VALUE` @@ -117,7 +117,7 @@ Example: Shows a list of all Coin accounts in the CoinBook. + Format: `list` -=== Locating Coin accounts: `find` / `f` +=== Locating Coin accounts: `find` / `f` `[coming in v1.5]` Finds coin accounts whose details satisfy the query. + @@ -242,12 +242,13 @@ Format: `clear` Adds a tag attribute to an entry in the CoinBook, so that they can be grouped for other commands. + Format: `tag {INDEX, NAME} TAG_NAME` -**** -**** +Example: + `tag 1 fav` + `tag 3 fav` + `tag 5 fav` + + The first, third, and fifth entry in the list is now tagged with the `fav` attribute. [TIP] @@ -255,7 +256,7 @@ A Coin account can have any number of tags (including 0) [NOTE] Bear in mind that if multiple items are tagged, then the command will be applied to all accounts under the same tag. -=== Setting up notifications : `notifyme` / `n` +=== Setting up notifications : `notifyme` / `n` `[coming in v1.5]` Sets a condition that triggers a desktop notification when met. + Format: `notifyme {INDEX, NAME, TAG} CONDITION [LOGICAL_OPERATOR CONDITION]...` @@ -277,7 +278,22 @@ Example: * `notifyme 1 price > 50` + When the price of the first entry has exceeded 50 dollars, a desktop notification will be triggered. -=== Updating the information : `update` / `u` +=== Ordering the information `order` / `o` `[coming in v1.5]` + +Orders or sorts the `Coin` listing based on fields such as: name, price, amount held etc. + +Format: `order OPTION/{a, d}...` + +Example: + +* `order p/a` + +The `Coin` listing is now ordered in ascending order based on their prices+ + +* `order p/d n/a` + +The `Coin` listing is now ordered in descending order based on their prices first, then if two coins have +the same price, they will be sorted by name in ascending order. + + + +=== Updating the information : `update` / `u` `[coming in v1.5]` Obtains the latest prices and refreshes the news feed using the Internet. Format: `update` From 3f643d384f7cb3cff22b058e9465a2e2802def12 Mon Sep 17 00:00:00 2001 From: Lai Cheng Yu Date: Fri, 23 Mar 2018 07:40:17 +0800 Subject: [PATCH 026/120] [#40] Add autocomplete to user guide (#75) --- docs/UserGuide.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index efe14f271fd9..5c1da96d866e 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -308,6 +308,11 @@ Format: `exit` CoinBook data are saved in the hard disk automatically after any command that changes the data. + There is no need to save manually. +=== Autocomplete `[coming in v1.5]` + +Pressing kbd:[Tab] will autocomplete the field where the cursor is at with a matching suggestion. +Subsequent kbd:[Tab] key presses will cycle through the list of suggestions. + // tag::dataencryption[] === Encrypting data files `[coming in v2.0]` From 9d4b6f24d50cbe5105f38bf78de8ca67a74d886a Mon Sep 17 00:00:00 2001 From: Lai Cheng Yu Date: Fri, 23 Mar 2018 07:54:43 +0800 Subject: [PATCH 027/120] [#58][#63] Generic URL builder for API calls (#77) * Add UrlBuilderUtil * Update readme to reflect use of Apache HttpClient library --- README.adoc | 2 +- build.gradle | 1 + .../address/commons/util/UrlBuilderUtil.java | 39 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/address/commons/util/UrlBuilderUtil.java diff --git a/README.adoc b/README.adoc index 7e2eb9ea353d..43f77be0c965 100644 --- a/README.adoc +++ b/README.adoc @@ -39,6 +39,6 @@ endif::[] * Based off the AddressBook-Level4 project, a software project for students learning Software Engineering with Java as the main programming language. Created by the SE-EDU initiative at https://github.com/se-edu/. * Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by _Marco Jakob_. -* Libraries used: https://github.com/TomasMikula/EasyBind[EasyBind], https://github.com/TestFX/TestFX[TextFX], https://bitbucket.org/controlsfx/controlsfx/[ControlsFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/google/guava[Guava], https://github.com/junit-team/junit4[JUnit4] +* Libraries used: https://github.com/TomasMikula/EasyBind[EasyBind], https://github.com/TestFX/TestFX[TextFX], https://bitbucket.org/controlsfx/controlsfx/[ControlsFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/google/guava[Guava], https://github.com/junit-team/junit4[JUnit4], http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/overview-summary.html[Apache HttpClient] == Licence : link:LICENSE[MIT] diff --git a/build.gradle b/build.gradle index 42878fd89218..305d90d2e017 100644 --- a/build.gradle +++ b/build.gradle @@ -70,6 +70,7 @@ dependencies { compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.7.0' compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.7.4' compile group: 'com.google.guava', name: 'guava', version: '19.0' + compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.1' testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.testfx', name: 'testfx-core', version: testFxVersion diff --git a/src/main/java/seedu/address/commons/util/UrlBuilderUtil.java b/src/main/java/seedu/address/commons/util/UrlBuilderUtil.java new file mode 100644 index 000000000000..b24e2b476552 --- /dev/null +++ b/src/main/java/seedu/address/commons/util/UrlBuilderUtil.java @@ -0,0 +1,39 @@ +package seedu.address.commons.util; + +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.util.List; +import java.util.logging.Logger; + +import org.apache.http.NameValuePair; +import org.apache.http.client.utils.URIBuilder; + +import seedu.address.commons.core.LogsCenter; + +/** + * Builds a URL given a url and parameters + */ +public class UrlBuilderUtil { + + private static final Logger logger = LogsCenter.getLogger(UrlBuilderUtil.class); + + /** + * Builds a URL given the url and params + * @param url cannot be null + * @param params are necessary + * @return String URL concatenated with params + */ + public static String buildUrl(String url, List params) { + String Url = ""; + try { + URIBuilder uri = new URIBuilder(url); + uri.addParameters(params); + Url = uri.build().toURL().toString(); + } catch (URISyntaxException e) { + logger.info("Illegal characters found in url: " + url + " or params: " + params.toString()); + } catch (MalformedURLException e) { + logger.info("Malformed URL: " + url + " provided"); + } + return Url; + } +} From 70747141d884329387b9d5bf1b983b4b59d53305 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 23 Mar 2018 08:06:38 +0800 Subject: [PATCH 028/120] [#65] v1.2 Documentation: Developer Guide (#67) * Add new markup style for file links * DeveloperGuide.adoc: Delete suggested tasks as LOs Edit for form and clarity Add section 3.1 to 3.5 Add sequence diagrams --- docs/DeveloperGuide.adoc | 946 +++++++++--------- docs/UserGuide.adoc | 8 +- .../NotificationsSequenceDiagram1.uml | 36 + .../NotificationsSequenceDiagram2.uml | 47 + docs/images/Lexer.png | Bin 0 -> 12309 bytes docs/images/NotificationsSequenceDiagram1.png | Bin 0 -> 15602 bytes docs/images/NotificationsSequenceDiagram2.png | Bin 0 -> 77237 bytes docs/images/ParserClassDiagram.png | Bin 0 -> 45759 bytes docs/images/failSequence.png | Bin 0 -> 26207 bytes docs/images/file-link-icon.png | Bin 0 -> 231 bytes docs/images/mainSequence.png | Bin 0 -> 30905 bytes docs/images/parsetree.png | Bin 0 -> 14421 bytes docs/stylesheets/asciidoctor.css | 6 +- 13 files changed, 591 insertions(+), 452 deletions(-) create mode 100644 docs/diagrams/NotificationsSequenceDiagram1.uml create mode 100644 docs/diagrams/NotificationsSequenceDiagram2.uml create mode 100644 docs/images/Lexer.png create mode 100644 docs/images/NotificationsSequenceDiagram1.png create mode 100644 docs/images/NotificationsSequenceDiagram2.png create mode 100644 docs/images/ParserClassDiagram.png create mode 100644 docs/images/failSequence.png create mode 100644 docs/images/file-link-icon.png create mode 100644 docs/images/mainSequence.png create mode 100644 docs/images/parsetree.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 9e5b7c4edb59..753aae43a95a 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -14,7 +14,7 @@ endif::[] By: `Team CS2103JAN2018-F09-B3` Since: `Feb 2018` Licence: `MIT` -== Setting up +== Setting Up === Prerequisites @@ -29,15 +29,15 @@ This app will not work with earlier versions of Java 8. + [NOTE] IntelliJ by default has Gradle and JavaFx plugins installed. + -Do not disable them. If you have disabled them, go to `File` > `Settings` > `Plugins` to re-enable them. +Do not disable them. If you have disabled them, go to `File` -> `Settings` -> `Plugins` to re-enable them. -=== Setting up the project in your computer +=== Setting Up the Project in Your Computer . Fork this repo, and clone the fork to your computer. -. Open IntelliJ. If you are not in the welcome screen, click `File` > `Close Project` to close the existing project dialog first. +. Open IntelliJ. If you are not in the welcome screen, click `File` -> `Close Project` to close the existing project dialog first. . Set up the correct JDK version for Gradle. -.. Click `Configure` > `Project Defaults` > `Project Structure`. +.. Click `Configure` -> `Project Defaults` -> `Project Structure`. .. Click `New...` and find the directory of the JDK. . Click `Import Project`. . Locate the `build.gradle` file and select it. Click `OK`. @@ -46,203 +46,369 @@ Do not disable them. If you have disabled them, go to `File` > `Settings` > `Plu . Open a console and run the command `gradlew processResources` (Mac/Linux: `./gradlew processResources`). It should finish with the `BUILD SUCCESSFUL` message. + This will generate all resources required by the application and tests. -=== Verifying the setup +=== Verifying the Setup . Run the `seedu.address.MainApp` and try a few commands. . <> to ensure they all pass. -=== Configurations to do before writing code +=== Configurations To Do Before Writing Code -==== Configuring the coding style +==== Configuring the Coding Style -This project follows https://github.com/oss-generic/process/blob/master/docs/CodingStandards.adoc[oss-generic coding standards]. IntelliJ's default style is mostly compliant with ours but it uses a different import order from ours. To rectify, +This project follows [ext]#https://github.com/oss-generic/process/blob/master/docs/CodingStandards.adoc[oss-generic coding standards]#. IntelliJ's default style is mostly compliant with ours but it uses a different import order from ours. To rectify this: -. Go to `File` > `Settings...` (Windows/Linux), or `IntelliJ IDEA` > `Preferences...` (macOS). -. Select `Editor` > `Code Style` > `Java`. -. Click on the `Imports` tab to set the following options: +. Go to `File` -> `Settings...` (Windows/Linux), or `IntelliJ IDEA` -> `Preferences...` (macOS). +. Select `Editor` -> `Code Style` -> `Java`. +. Click on the `Imports` tab, and set the following options within. * Set `Class count to use import with '\*'` and `Names count to use static import with '*'` to `999` to prevent IntelliJ from contracting the import statements. * Set the order for `Import Layout`: `import static all other imports`, `import java.\*`, `import javax.*`, `import org.\*`, `import com.*`, `import all other imports`. Add a `` between each `import`. -Optionally, you can follow the <> document to configure Intellij to check style-compliance as you write code. +Optionally, you can follow the [exref]##<>## document to configure Intellij to check style-compliance as you write code. -==== Updating documentation to match your fork +==== Updating Documentation to Match Your Fork -After forking the repo, links in the documentation will still point to the `CS2103JAN2018-F09-B3/main` repo. If you plan to develop this as a separate product (i.e. instead of contributing to `CS2103JAN2018-F09-B3/main`), you should replace the URL in the variable `repoURL` in `DeveloperGuide.adoc` and `UserGuide.adoc` with the URL of your fork. +After forking the repo, links in the documentation will still point to the `CS2103JAN2018-F09-B3/main` repo. If you plan to develop this as a separate product (instead of contributing to `CS2103JAN2018-F09-B3/main`), you should replace the URL in the variable `repoURL` in `DeveloperGuide.adoc` and `UserGuide.adoc` with the URL of your fork. -==== Setting up CI +==== Setting Up Continuous Integration -See <> to learn how to set up Travis to perform Continuous Integration (CI) for your fork. +See [exref]##<>## to learn how to set up Travis to perform Continuous Integration (CI) for your fork. -After setting up Travis, you can optionally set up coverage reporting for your team fork (see <>). +After setting up Travis, you can optionally set up coverage reporting for your team fork (see [exref]##<>##). [NOTE] Coverage reporting could be useful for a team repository that hosts the final version but it is not that useful for your personal fork. -Optionally, you can set up AppVeyor as a second CI (see <>). +Optionally, you can set up AppVeyor as a second CI (see [exref]##<>##). [NOTE] -Having both Travis and AppVeyor ensures your App works on both Unix-based platforms and Windows-based platforms (Travis is Unix-based and AppVeyor is Windows-based) +Having both Travis and AppVeyor ensures that your app works on both Unix-based platforms and Windows-based platforms. Travis is Unix-based and AppVeyor is Windows-based. -==== Getting started with coding +==== Getting Started With Coding -When you are ready to start coding, - -1. Get some sense of the overall design by reading <>. -2. Take a look at <>. +When you are ready to start coding, get some sense of the overall design by reading the next section on _CoinBook_'s <>. == Design [[Design-Architecture]] === Architecture +The *_Architecture Diagram_* below (Fig. 1) explains the high-level design of the App. + .Architecture Diagram image::Architecture.png[width="600"] -The *_Architecture Diagram_* given above explains the high-level design of the App. Given below is a quick overview of each component. - -[TIP] -The `.pptx` files used to create diagrams in this document can be found in the link:{repoURL}/docs/diagrams/[diagrams] folder. To update a diagram, modify the diagram in the pptx file, select the objects of the diagram, and choose `Save as picture`. +Following is a quick overview of each component: -`Main` has only one class called link:{repoURL}/src/main/java/seedu/address/MainApp.java[`MainApp`]. It is responsible for, +`*Main*` has only one class called [exref]#link:{repoURL}/src/main/java/seedu/address/MainApp.java[`MainApp`]#. It is responsible for: -* At app launch: Initializes the components in the correct sequence, and connects them up with each other. -* At shut down: Shuts down the components and invokes cleanup method where necessary. +* (On app launch) Initializing the components in the correct sequence, and connecting them up with one another +* (On shut down) Shutting down the components and invoking cleanup methods where necessary -<> represents a collection of classes used by multiple other components. Two of those classes play important roles at the architecture level. +`*Commons*` represents a collection of classes used by multiple other components. Two of these classes play important roles at the architectural level. -* `EventsCenter` : This class (written using https://github.com/google/guava/wiki/EventBusExplained[Google's Event Bus library]) is used by components to communicate with other components using events (i.e. a form of _Event Driven_ design) -* `LogsCenter` : Used by many classes to write log messages to the App's log file. +* `EventsCenter` : This class (written using [ext]#https://github.com/google/guava/wiki/EventBusExplained[Google's Event Bus library]#) is used by components to communicate with other components using events (i.e. a form of <>) +* `LogsCenter` : Used by classes to write log messages to the App's log file. -The rest of the App consists of four components. +These classes are located in the [exref]#link:{repoURL}/src/main/java/seedu/address/commons[`seedu.address.commons`]# package. -* <>: The UI of the App. -* <>: The command executor. -* <>: Holds the data of the App in-memory. -* <>: Reads data from, and writes data to, the hard disk. +The rest of the App consists of four components: + +<>: The UI of the App. + +<>: Executes commands. + +<>: Holds the data of the App in memory. + +<>: Reads data from and writes data to the hard disk. -Each of the four components +Each of these four components: -* Defines its _API_ in an `interface` with the same name as the Component. +* Defines its [gloss]#<># in an interface with the same name as the component. * Exposes its functionality using a `{Component Name}Manager` class. -For example, the `Logic` component (see the class diagram given below) defines it's API in the `Logic.java` interface and exposes its functionality using the `LogicManager.java` class. +For example, the `Logic` component (see Fig. 2 below) defines its API in the `Logic.java` interface and exposes its functionality via the `LogicManager.java` class. .Class Diagram of the Logic Component image::LogicClassDiagram.png[width="800"] [discrete] -==== Events-Driven nature of the design +[[event-driven-design]] +==== Event-Driven nature of the design -The _Sequence Diagram_ below shows how the components interact for the scenario where the user issues the command `delete 1`. +The _Sequence Diagram_ below (Fig. 3) shows the interaction between the various components when the user issues the command `delete 1`. .Component interactions for `delete 1` command (part 1) image::SDforDeletePerson.png[width="800"] [NOTE] -Note how the `Model` simply raises a `AddressBookChangedEvent` when the Address Book data are changed, instead of asking the `Storage` to save the updates to the hard disk. +Note how the `Model` simply raises `AddressBookChangedEvent` when the data is changed, instead of asking `Storage` to save the updates to the hard disk. -The diagram below shows how the `EventsCenter` reacts to that event, which eventually results in the updates being saved to the hard disk and the status bar of the UI being updated to reflect the 'Last Updated' time. +Fig. 4 below shows how `EventsCenter` reacts to that event, which eventually results in the updates being saved to the hard disk and the status bar of the UI being updated to reflect the 'Last Updated' time. .Component interactions for `delete 1` command (part 2) image::SDforDeletePersonEventHandling.png[width="800"] [NOTE] -Note how the event is propagated through the `EventsCenter` to the `Storage` and `UI` without `Model` having to be coupled to either of them. This is an example of how this Event Driven approach helps us reduce direct coupling between components. +Note how the event is propagated through the `EventsCenter` to the `Storage` and `UI` without `Model` having to be [gloss]#<># to either of them. This is an example of how this Event Driven approach helps us reduce direct coupling between components. -The sections below give more details of each component. +The following sections give more details about each component. [[Design-Ui]] -=== UI component +=== UI Component + +*API* : [exref]#link:{repoURL}/src/main/java/seedu/address/ui/Ui.java[`Ui.java`]# + +The `UI` component: + +* Executes user commands using the `Logic` component +* Binds itself to data in the `Model` so that the UI can update itself automatically when data in the `Model` changes +* Responds to events raised from various parts of the App and updates the UI accordingly + +The following diagram (Fig. 5) illustrates the structure of this component: .Structure of the UI Component image::UiClassDiagram.png[width="800"] -*API* : link:{repoURL}/src/main/java/seedu/address/ui/Ui.java[`Ui.java`] +The user interface (UI) consists of a `MainWindow` that is made up of several parts, e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter`, `BrowserPanel` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. -The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter`, `BrowserPanel` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. +The `UI` component uses JavaFx UI framework. The layout of the UI parts are defined in matching `.fxml` files located in the `src/main/resources/view` folder. For example, the layout of the +[exref]#link:{repoURL}/src/main/java/seedu/address/ui/MainWindow.java[`MainWindow`]# is specified in +[exref]#link:{repoURL}/src/main/resources/view/MainWindow.fxml[`MainWindow.fxml`]# -The `UI` component uses JavaFx UI framework. The layout of these UI parts are defined in matching `.fxml` files that are in the `src/main/resources/view` folder. For example, the layout of the link:{repoURL}/src/main/java/seedu/address/ui/MainWindow.java[`MainWindow`] is specified in link:{repoURL}/src/main/resources/view/MainWindow.fxml[`MainWindow.fxml`] +[[Design-Logic]] +=== Logic Component + +*API* : +[exref]#link:{repoURL}/src/main/java/seedu/address/logic/Logic.java[`Logic.java`]# -The `UI` component, +The `Logic` component: -* Executes user commands using the `Logic` component. -* Binds itself to some data in the `Model` so that the UI can auto-update when data in the `Model` change. -* Responds to events raised from various parts of the App and updates the UI accordingly. +* Parses and executes user commands +* Manages command history and undo/redo information -[[Design-Logic]] -=== Logic component +The following diagrams (Fig. 6, 7) illustrate the structure of this component: [[fig-LogicClassDiagram]] .Structure of the Logic Component image::LogicClassDiagram.png[width="800"] -.Structure of Commands in the Logic Component. This diagram shows finer details concerning `XYZCommand` and `Command` in <> +.Structure of Commands in the Logic Component. Example of `XYZCommand` and `Command` in <> image::LogicCommandClassDiagram.png[width="800"] -*API* : -link:{repoURL}/src/main/java/seedu/address/logic/Logic.java[`Logic.java`] +When a user issues a command, the following steps are performed: . `Logic` uses the `AddressBookParser` class to parse the user command. . This results in a `Command` object which is executed by the `LogicManager`. . The command execution can affect the `Model` (e.g. adding a person) and/or raise events. -. The result of the command execution is encapsulated as a `CommandResult` object which is passed back to the `Ui`. +. The result of the command execution is encapsulated as a `CommandResult` object which is then passed back to the UI. -Given below is the Sequence Diagram for interactions within the `Logic` component for the `execute("delete 1")` API call. +Given below is the Sequence Diagram (Fig. 8) for interactions within the `Logic` component for the `execute("delete{nbsp}1")` API call. .Interactions Inside the Logic Component for the `delete 1` Command image::DeletePersonSdForLogic.png[width="800"] [[Design-Model]] -=== Model component +=== Model Component -.Structure of the Model Component -image::ModelClassDiagram.png[width="800"] +*API* : +[exref]#link:{repoURL}/src/main/java/seedu/address/model/Model.java[`Model.java`]# -*API* : link:{repoURL}/src/main/java/seedu/address/model/Model.java[`Model.java`] +The `Model` component: -The `Model`, +* Stores a `UserPref` object that represents the user's preferences +* Stores the CoinBook data +* Exposes an unmodifiable `ObservableList` that can be _observed_ e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list changes +* Does not depend on any of the other three components -* stores a `UserPref` object that represents the user's preferences. -* stores the Address Book data. -* exposes an unmodifiable `ObservableList` that can be 'observed' e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list change. -* does not depend on any of the other three components. +The following diagram (Fig. 9) illustrates the structure of this component: + +.Structure of the Model Component +image::ModelClassDiagram.png[width="800"] [[Design-Storage]] === Storage component +*API* : +[exref]#link:{repoURL}/src/main/java/seedu/address/storage/Storage.java[`Storage.java`]# + +The `Storage` component: + +* Can save `UserPref` objects in JSON format and read it back +* Can save the CoinBook data in XML format and read it back + +The following diagram (Fig. 10) illustrates the structure of this component: + .Structure of the Storage Component image::StorageClassDiagram.png[width="800"] -*API* : link:{repoURL}/src/main/java/seedu/address/storage/Storage.java[`Storage.java`] +== Implementation -The `Storage` component, +This section describes some noteworthy details on how certain features are implemented. -* can save `UserPref` objects in json format and read it back. -* can save the Address Book data in xml format and read it back. +=== Condition Parser feature -[[Design-Commons]] -=== Common classes +==== Current implementation +The general parser for the SQL-like arguments for the find command can be broken down into a few sub-components, namely +the `Lexer`, `SyntaxParser`, `SemanticParser`, and a `ConditionGenerator`, while using classes such as `Condition`, +`Token`, `TokenType`, `TokenStack` to model the data that is to be operated on throughout the process. Their tasks are +delegated as follows: -Classes used by multiple components are in the `seedu.addressbook.commons` package. +* `Lexer` : Lexically analyzes the input string, then creates a list of tokens. +* `SyntaxParser` : Parses the input by matching the tokens versus a list of rules to ensure they fit the desired +structure. +* `SemanticParser` : Parses the input by matching the tokens versus a list of rules to ensure their meaning is semantically valid +* `ConditionGenerator` : Uses the list of tokens to create the equivalent lambda function to evaluate `Coin` objects against. -== Implementation +[NOTE] +The distinction between the SyntaxParser and the Semantic Parser is that the syntax parser is oblivious as to what the +input actually means, and only cares whether the structure is correct, whereas the semantic parser verifies the meaning behind the +input. For example, `n/BTC AND OR p/>500` would not even be valid syntatically, whereas `n/BTC or p/>BTC` would be valid syntatically +but not semantically, since it would not make sense to search for `Coin` objects whose price attribute was more than +"BTC" since a price cannot be compared to a name. -This section describes some noteworthy details on how certain features are implemented. +Below is the UML +describing the classes and their relationships. + +.Class UML diagram for the Condition Parser +image::ParserClassDiagram.png[] + +The general flow of the parser is very linear in nature, an input string is first broken up into reasonable sections by +the lexer based on their possible meaning, then the syntax and semantic parser ensure that the input follows the +structure required and then finally a condition objects is generated representing the statement that can be used to +evaluate Coin objects. + +.Sequence diagram for the `ConditionParser` class on correct inputs +image::mainSequence.png[width=800] + +We will illustrate the flow of the CommandParser on an example input: +``` +> n/BTC OR ( t/fav AND p/>100 ) +``` +===== Lexer +Firstly, the lexer would tokenize this into: + +``` +> [n/,OPTION][BTC,STRING][OR,BINARYOP][(,LEFTPAREN][t/,OPTION][fav,STRING][AND,BINRARYOP][p/,OPTION][>,COMPARATOR][100,NUMBER][),RIGHTPAREN] +``` +Notice how the whitespace has now been discarded, since it is not used for the purposes of parsing. Also each section of +the input has now been grouped with a type. + +Below is a sequence diagram describing the behaviour of `Lexer` on the input: + +.Sequence diagram for the `Lexer` class +image::Lexer.png[] + + +===== Syntax Parser + +Next, the syntax parser has to ensure that the sequence of tokens is actually structurally valid. +This is done by matching the tokens off based on the following rules, expressed in Backus Naur form: + +. `EXPRESSION` := `TERM` | `TERM` `BINARYOP` `EXPRESSION` +. `TERM` := `LEFTPAREN` `EXPRESSION` `RIGHTPAREN` | `UNARYOP` `TERM` | `CONDITION` +. `CONDITION` := `OPTION` `COMPARATOR` `NUM` | `OPTION` `STRING` + + +Using our example, we will illustrate how we can sequentially express the argument based on the provided rules: + +. `EXPRESSION` +. `TERM` `BINARYOP` `EXPRESSION` +. `CONDITION` `BINARYOP` `EXPRESSION` +. `OPTION` `STRING` `BINARYOP` `EXPRESSION` +. n/`STRING` `BINARYOP` `EXPRESSION` +. n/BTC `BINARYOP` `EXPRESSION` +. n/BTC OR `EXPRESSION` +. n/BTC OR `TERM` +. n/BTC OR ( `EXPRESSION` ) +. n/BTC OR ( `TERM` `BINARYOP` `EXPRESSION` ) +. n/BTC OR ( `CONDITION` `BINARYOP` `EXPRESSION` ) +. n/BTC OR ( `OPTION` `STRING` `BINARYOP` `EXPRESSION` ) +. n/BTC OR ( t/ `STRING` `BINARYOP` `EXPRESSION` ) +. n/BTC OR ( t/fav `BINARYOP` `EXPRESSION` ) +. n/BTC OR ( t/fav AND `EXPRESSION` ) +. n/BTC OR ( t/fav AND `TERM` ) +. n/BTC OR ( t/fav AND `CONDITION` ) +. n/BTC OR ( t/fav AND `OPTION` `COMPARATOR` `NUM` ) +. n/BTC OR ( t/fav AND p/ `COMPARATOR` `NUM` ) +. n/BTC OR ( t/fav AND p/ > `NUM` ) +. n/BTC OR ( t/fav AND p/>100 ) + +The recursive methods `Expression`, `Term`, `Condition` in the syntax parser class will match their own respective tokens +as necessary. In fact the method calls in the parser are exactly the same as the matches made in the previously stated sequence. +For example, here is the implementation for `EXPRESSION`. + +[source,java] +---- +boolean expression() { + if (!term()) { + return false; + } + while (tokenStack.matchAndPopTokenType(TokenType.BINARYBOOL)) { + if (!term()) { + return false; + } + } + return true; +} +---- + +Visually we can represent it with the following parse tree, which also serves as the recursion tree: + +.Parse and recursion tree for the example input +image::parsetree.png[] + +===== Semantic Parser + +Following up, the Semantic Parser has to verify that the conditions are correct. This can be done by verifying the +type of the condition versus the parameters that follow. For example, a name condition should only be followed by a string. +This can be done by checking the corresponding option class versus the type of token that follows. + +===== Condition Generator + +Lastly, the condition generator creates lambdas based on the type of conditions found, and then recursively composes each +condition based on the binary operators encounters up the recursion tree. + +==== Error handling +On syntactically invalid inputs, the `ConditionParser` will retrieve the expected and actual type of Token that were not a math +during the parsing phase from the `TokenStack` and raise an exception before returning. + +Below is the sequence diagram depicting the `ConditionParser` control flow when the `SyntaxParser` has identified an error in the input. +Since the `SemanticParser` has similar structure, the sequence diagram would look very similar the the one below. + +.Sequence diagram for the `ConditionParser` class on erroneous inputs +image::failSequence.png[] + +==== Design Considerations + +===== Aspect: Specification of syntax + +* **Alternative 1 (current choice):** Have the structure of the methods reflect exactly the syntax. +** Pros: Since the syntax is apparent, any subsequent changes can be easily done by having the code reflect the new syntax. +** Cons: Cumbersome to have to alter the code every time there is a change in syntax. +* **Alternative 2:** Specify the syntax in a separate file (e.g. EBNF file), and metaprogram the parser based on the file. +** Pros: Requires 0 code change whenever the syntax has to be modified. +** Cons: The code to support this would be very complicated and not apparent to developers immediately. + +===== Aspect: Implementation of `SyntaxParser`, `SemanticParser`, `ConditionGenerator` + +* **Alternative 1 (current choice):** Have separate classes that have the same structure but with different return values. +** Pros: Maintains SRP. +** Cons: A change in syntax requires change across 3 classes. It is also very redundant having similar code. +* **Alternative 2:** Have a single implementation that performs syntax parsing, semantic parsing and the condition generation. +** Pros: Removal of redundant code. +** Cons: Clearly violates SRP. // tag::undoredo[] === Undo/Redo feature ==== Current Implementation -The undo/redo mechanism is facilitated by an `UndoRedoStack`, which resides inside `LogicManager`. It supports undoing and redoing of commands that modifies the state of the address book (e.g. `add`, `edit`). Such commands will inherit from `UndoableCommand`. +The undo/redo mechanism is facilitated by an `UndoRedoStack`, which resides inside `LogicManager`. It supports the undoing and redoing of commands that modify the stored data (e.g. `add`, `edit`). Such commands will inherit from `UndoableCommand`. -`UndoRedoStack` only deals with `UndoableCommands`. Commands that cannot be undone will inherit from `Command` instead. The following diagram shows the inheritance diagram for commands: +`UndoRedoStack` only deals with `UndoableCommands`. Commands that cannot be undone will inherit from `Command` instead. Here is the inheritance diagram for commands (Fig. 11): +.Class Diagram for Logic image::LogicCommandClassDiagram.png[width="800"] -As you can see from the diagram, `UndoableCommand` adds an extra layer between the abstract `Command` class and concrete commands that can be undone, such as the `DeleteCommand`. Note that extra tasks need to be done when executing a command in an _undoable_ way, such as saving the state of the address book before execution. `UndoableCommand` contains the high-level algorithm for those extra tasks while the child classes implements the details of how to execute the specific command. Note that this technique of putting the high-level algorithm in the parent class and lower-level steps of the algorithm in child classes is also known as the https://www.tutorialspoint.com/design_pattern/template_pattern.htm[template pattern]. +As you can see from the diagram, `UndoableCommand` adds an extra layer between the abstract `Command` class and concrete commands that can be undone, such as `DeleteCommand`. Note that extra tasks need to be done when executing a command in an _undoable_ way, such as saving the state of the App data before execution. `UndoableCommand` contains the high-level algorithm for those extra tasks, while the child classes implement the details for executing the specific command. This technique of putting the high-level algorithm in the parent class and lower-level steps of the algorithm in child classes is also known as the [ext]#https://www.tutorialspoint.com/design_pattern/template_pattern.htm[template pattern]#. -Commands that are not undoable are implemented this way: +Commands that are not undoable are implemented in this way: [source,java] ---- public class ListCommand extends Command { @@ -253,7 +419,7 @@ public class ListCommand extends Command { } ---- -With the extra layer, the commands that are undoable are implemented this way: +With the extra layer, the commands that are undoable are implemented in this way: [source,java] ---- public abstract class UndoableCommand extends Command { @@ -273,14 +439,16 @@ public class DeleteCommand extends UndoableCommand { } ---- -Suppose that the user has just launched the application. The `UndoRedoStack` will be empty at the beginning. +Suppose that the user has just launched the application. The `UndoRedoStack` is empty at the beginning. -The user executes a new `UndoableCommand`, `delete 5`, to delete the 5th person in the address book. The current state of the address book is saved before the `delete 5` command executes. The `delete 5` command will then be pushed onto the `undoStack` (the current state is saved together with the command). +The user executes a new `UndoableCommand`, `delete 5`, to delete the 5th entry. The current state of the App data is saved before the `delete 5` command executes. The `delete 5` command will then be pushed onto the `undoStack` (the current state is saved together with the command). Fig. 12 below illustrates this. +.Undo/Redo Stack Part 1 image::UndoRedoStartingStackDiagram.png[width="800"] -As the user continues to use the program, more commands are added into the `undoStack`. For example, the user may execute `add n/David ...` to add a new person. +As the user continues to issue more commands, they are added into the `undoStack`. For example, the user may execute `add n/David ...` to add a new person, resulting in the below picture (Fig. 13): +.Undo/Redo Stack Part 2 image::UndoRedoNewCommand1StackDiagram.png[width="800"] [NOTE] @@ -288,32 +456,37 @@ If a command fails its execution, it will not be pushed to the `UndoRedoStack` a The user now decides that adding the person was a mistake, and decides to undo that action using `undo`. -We will pop the most recent command out of the `undoStack` and push it back to the `redoStack`. We will restore the address book to the state before the `add` command executed. +We will pop the most recent command out of the `undoStack` and push it to the `redoStack`. At the same time, the data is restored to the state before the `add` command executed. The figure below (Fig. 14) illustrates the result: +.Undo/Redo Stack Part 3 image::UndoRedoExecuteUndoStackDiagram.png[width="800"] [NOTE] -If the `undoStack` is empty, then there are no other commands left to be undone, and an `Exception` will be thrown when popping the `undoStack`. +If the `undoStack` is empty, i.e., there are no other commands left to be undone, an `Exception` will be thrown when trying to pop the `undoStack`. The following sequence diagram shows how the undo operation works: +.Sequence Diagram for Undo image::UndoRedoSequenceDiagram.png[width="800"] -The redo does the exact opposite (pops from `redoStack`, push to `undoStack`, and restores the address book to the state after the command is executed). +The `redo` command does the exact opposite (pops from `redoStack`, push to `undoStack`, and restores the data to the state after the command is executed). [NOTE] If the `redoStack` is empty, then there are no other commands left to be redone, and an `Exception` will be thrown when popping the `redoStack`. -The user now decides to execute a new command, `clear`. As before, `clear` will be pushed into the `undoStack`. This time the `redoStack` is no longer empty. It will be purged as it no longer make sense to redo the `add n/David` command (this is the behavior that most modern desktop applications follow). +The user now decides to execute a new command, `clear`. As before, `clear` will be pushed into the `undoStack`. However, now the `redoStack` is not empty, and it will be purged as it no longer makes sense to redo the `add n/David` command (this is the behavior that most modern desktop applications follow). Refer to Fig. 16 below: +.Undo/Redo Stack Part 4 image::UndoRedoNewCommand2StackDiagram.png[width="800"] -Commands that are not undoable are not added into the `undoStack`. For example, `list`, which inherits from `Command` rather than `UndoableCommand`, will not be added after execution: +Commands that are not undoable are not added into the `undoStack`. For example, `list`, which inherits from `Command` rather than `UndoableCommand`, will not be added after execution (Fig. 17): +.Undo/Redo Stack Part 5 image::UndoRedoNewCommand3StackDiagram.png[width="800"] -The following activity diagram summarize what happens inside the `UndoRedoStack` when a user executes a new command: +The following activity diagram summarizes the logic for `UndoRedoStack` when a user executes a new command: +.Activity Diagram for Undo/Redo image::UndoRedoActivityDiagram.png[width="650"] ==== Design Considerations @@ -321,7 +494,7 @@ image::UndoRedoActivityDiagram.png[width="650"] ===== Aspect: Implementation of `UndoableCommand` * **Alternative 1 (current choice):** Add a new abstract method `executeUndoableCommand()` -** Pros: We will not lose any undone/redone functionality as it is now part of the default behaviour. Classes that deal with `Command` do not have to know that `executeUndoableCommand()` exist. +** Pros: We will not lose any undo/redo functionality as it is now part of the default behaviour. Classes that deal with `Command` do not have to know that `executeUndoableCommand()` exist. ** Cons: Hard for new developers to understand the template pattern. * **Alternative 2:** Just override `execute()` ** Pros: Does not involve the template pattern, easier for new developers to understand. @@ -329,90 +502,262 @@ image::UndoRedoActivityDiagram.png[width="650"] ===== Aspect: How undo & redo executes -* **Alternative 1 (current choice):** Saves the entire address book. +* **Alternative 1 (current choice):** Saves the entire state. ** 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. +* **Alternative 2:** Individual commands know 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. ===== Aspect: Type of commands that can be undone/redone -* **Alternative 1 (current choice):** Only include commands that modifies the address book (`add`, `clear`, `edit`). -** Pros: We only revert changes that are hard to change back (the view can easily be re-modified as no data are * lost). -** Cons: User might think that undo also applies when the list is modified (undoing filtering for example), * only to realize that it does not do that, after executing `undo`. +* **Alternative 1 (current choice):** Only include commands that modify the App data (e.g. `add`, `clear`, `edit`). +** Pros: We only revert changes that are hard to do manually (the view can easily be re-modified as no data is lost). +** Cons: User might think that undo also applies when the list is modified (undoing filtering for example), only to realize otherwise after executing `undo`. * **Alternative 2:** Include all commands. ** Pros: Might be more intuitive for the user. -** Cons: User have no way of skipping such commands if he or she just want to reset the state of the address * book and not the view. -**Additional Info:** See our discussion https://github.com/se-edu/addressbook-level4/issues/390#issuecomment-298936672[here]. +** Cons: User has no way of skipping such commands if he or she just wants to reset changes made to the data and not the view. +**Additional Info:** See the discussion [ext]#https://github.com/se-edu/addressbook-level4/issues/390#issuecomment-298936672[here]#. ===== Aspect: Data structure to support the undo/redo commands * **Alternative 1 (current choice):** Use separate stack for undo and redo -** Pros: Easy to understand for new Computer Science student undergraduates to understand, who are likely to be * the new incoming developers of our project. -** Cons: Logic is duplicated twice. For example, when a new command is executed, we must remember to update * both `HistoryManager` and `UndoRedoStack`. +** Pros: Easier to understand for new Computer Science undergraduates, who represent the majority of incoming developers to our project. +** Cons: Logic is duplicated twice. For example, when a new command is executed, we must remember to update both `HistoryManager` and `UndoRedoStack`. * **Alternative 2:** Use `HistoryManager` for undo/redo ** Pros: We do not need to maintain a separate stack, and just reuse what is already in the codebase. -** Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as `HistoryManager` now needs to do two * different things. +** Cons: Requires dealing with commands that have already been undone; we must remember to skip these commands. This approach violates the Single Responsibility Principle and the Separation of Concerns Principle as `HistoryManager` now needs to do two different things. // end::undoredo[] -// tag::dataencryption[] -=== [Proposed] Data Encryption +// tag::notifications[] +=== User-Set Notifications + +==== Current Implementation + +The notification system is facilitated by a `RuleBook`, which is located with the `Model` component as part of the App data. `RuleBook` holds a set of rules which define, in this case, conditions to trigger notifications on. A `NotificationManager` also does the work of checking and generating notifications. + +Let us walk through the implementation of notifications by considering a typical scenario involving this feature. Suppose the user wants to keep track of a certain coin's price, say `BTC`. + +The user adds a new notification using `NotifyCommand`, e.g. `notify BTC p/15000`, which sets a new notification to be triggered for when the price of `BTC` crosses $15000 (from either direction). The corresponding rule is added to the notification `RuleBook`. + +Later on, the user may add other notifications. So now, there are a list of different rules stored in _CoinBook_. When the price data is synced with latest data from the web, whether from the regular update or triggered by the user with the `update` command, a `CoinChangedEvent` is sent out for each updated coin. + +`NotificationManager` catches these events, and checks against the notifications `RuleBook`. If any match, a notification pops up to alert the user. + +The diagram below (Fig. 20) summarises these interactions: + +image::NotificationsSequenceDiagram1.png[width="800"] +.Sequence Diagram for Notifications +image::NotificationsSequenceDiagram2.png[width="800"] + +==== Design Considerations + +===== Aspect: Module to put notification handling in + +* Alternative 1 (current choice): Make a new package for notifications. +** Pros: All the notification handling can be encapsulated in its own component. +** Cons: Notification handling alone seems too narrow a scope for a top-level component. + +* Alternative 2: Put it in `Commons`. +** Pros: No need to make a new module. +** Cons: Notifications is not an integral component and no other classes depend on it directly so it is not very appropriate to place it here. + +* Alternative 3: Put it in `Model` along with the implementation of `RuleBook` itself. +** Pros: Rules management and notifications management in the same place which has better code readability. +** Cons: Violates Separation of Concerns and Single Responsibility Principles as `Model` then manages both data, and user interaction / platform features. + +[TIP] +The `RuleBook` is actually made general-purpose in the sense that it can hold other types of rules for future extensions, e.g. Automated Task Rules, etc. + +Later on, the `Notification` component may morph into a general "rules execution" component which manages different types of rules and performs their associated actions. + +===== Aspect: Which kind of notification to use + +* Alternative 1: Platform-side notifications, e.g. system tray. +** Pros: User can integrate these into their own workflow, such as setting other programs to listen in on system notifications and forward them to their other device, generate emails, take actions, etc. User has some control over how notifications look and behave. +** Cons: May not work on every platform; heavily dependent on implementation of Java features. For example, some distributions of Linux may not include system trays. + +* Alternative 2 (current choice): Application-side notifications. +** Pros: Uses the same framework which displays the App window itself, so is guaranteed to work alongside the App. +** Cons: Less flexibility in customisation and availability of integration into user's preferred workflow. + +===== Aspect: Undo-ability of `NotifyCommand` + +* Alternative 1 (current choice): Not an `UndoableCommand`. +** Pros: We can keep notification rule data separate from coin data. The basic functionality of `RuleBook` is implemented inside `Model` which deals with data, but the rules are instantiated only in the `Notifications` component itself. A rule manager window will be available for editing or deleting existing notifications. +** Cons: Not as intuitive as users have to manage coins and rules slightly differently. + +* Alternative 2: Undoable just like `add`, `edit`, etc. +** Pros: Intuitive, single interface for similar operations. +** Cons: Since the current implementation of `UndoableCommand` requires saving +the state of `Model`, which is a wrapper for just the coin data, this would +increase the coupling between the coin data and the rule data parts of `Model`. We want to keep `Model` as an interface for just the coin data itself. + +// end::notifications[] + +// tag::organisation[] + +[[Implementation-Organisation]] +=== Organisation Features + +==== Sorting + +The sorting mechanism is facilitated by `Collections.sort`. It supports sorting of the coins when the unsorted coin list is passed into the sort method to arrange the coins in a manner that the user chooses. + +The way `Collections.sort` works is that it takes the collection's underlying array and calls its sort method to sort the actual elements. The sorting algorithm used by Java is Timsort. + +The method returns void because it sorts the collection in-place and thus it modifies the collection you give it as a parameter by sorting its elements. As a result, a sorted copy need not be returned, thus saving resources. + +* Sort by coin value + +** We can use `Comparator.comparingDouble()` for comparing double values. For _CoinBook_, we want to order our list of coins by value, from the highest to the lowest. +** We can use the `reversed` function on the `Comparator` to invert default, to arrange coins from lowest to highest instead. +** `Double` is used because coin values have several decimal places and so using `comparingInt()` would not suffice. + +* Sort by string field (coin code) + +** If we want to sort our `CoinList` by coin code we can use `Comparator.comparing()` and pass a function that extracts the 3 letter coin code. +** One does not have to pass any comparator for the list to be correctly sorted because the 3-letter coin code is a string and `String` implements the `Comparable` _interface_. + +==== Grouping + +We can use the `Collectors` class, which provides methods for grouping data stored in collections. Grouping would permit the user to organise coin data based on a common field, e.g coins prices equal to or over 1000 dollars per coin. + +The `GroupingBy` method from the `Collectors` class is responsible for organising the coin data into groups. In this case the group is defined by the value of the coin. The `Collect` method from the `Stream` class accepts the `GroupingBy` method as its argument and returns a map containing the results. The results are then displayed. + +Using the `GroupingBy` collector from the `Collector` class, it takes a single parameter (classifier) that assigns a grouping key to every stream element. + +By default, elements with the same key are inserted into `List`, although this can be changed by specifying a second parameter to `GroupingBy`. + +==== Design Considerations + +===== Aspect: Implementation of Sort + +* Alternative 1 (current choice): Make use of `Collections.sort` + +** Pros: `String` implements `Comparable` interface so there is no need to pass any comparator for the coin list. +** Cons: Developer needs to understand the relationship between array lists and collections. + +* Alternative 2: Add a new sorting function (e.g. Selection Sort) + +** Pros: Possibly allows us to reduce the time required to execute the sorting command. +** Cons: Need more time to incorporate it into the address book since we are not using Java’s in-built sorting method. + +===== Aspect: Implementation of Groups + +* Alternative 1 (current choice): Make use of GroupingBy method + +** Pros: User has an additional option where he can view coins based on a specified attribute. +** Cons: Developer needs to understand the relationship between `Stream`, `ArrayList` and `Collector` classes. + +* Alternative 2: Adding additional tags in lieu of grouping + +** Pros: Codebase already has support for tags and so not a lot of changes will be required. +** Cons: Unable to execute commands at a group level because tags merely depict the attribute of the coins, but groups act as a tool to manage several coins at the same time. + +// end::organisation[] + +// tag::autocomplete[] +=== [Proposed] Autocomplete feature + +The autocomplete mechanism is facilitated by a `RadixTree`, which resides inside `LogicManager`. It supports the predicting of a word or phrase that the user may type based on a partial text query. + +Suppose the user has 3 coins added to his account currently, namely `BTC`, `ETH`, `BCG` and `BCH` in that order. + +Say the user is trying to use the `find` command to look up `BCH`. -_{Explain here how the data encryption feature will be implemented}_ +The user will first type `find` into the command line followed by a whitespace and `B`. +``` +find B +``` + +Now, when the user presses kbd:[Tab], the autocomplete feature will then complete the query by suggesting the first matching item it finds. +``` +find BTC +``` + +When the user then presses kbd:[C] to complete his query, the autocomplete feature will suggest the next matching item of the input `BC` so far. +``` +find BCG +``` + +The user can then press kbd:[Tab] again to cycle through the other items that match the current input `BC`. +``` +find BCH +``` + +At this point the user has found `BCH`, which is the coin that the user wanted to look up and can now kbd:[Enter] his command. + +==== Design Considerations + +===== Aspect: Which fields autocomplete work on + +* **Alternative 1 (current choice):** Only applicable for command parameters. +** Pros: Less to implement. +** Cons: May not satisfy every user. +* **Alternative 2:** Applicable for both command word and command parameters. +** Pros: Slightly better user experience. +** Cons: Lower value to effort ratio to implement given that aliases are already implemented. -// end::dataencryption[] +===== Aspect: Data structure to support the autocomplete feature + +* **Alternative 1 (current choice):** Use a Radix Tree +** Pros: Easier to understand for new Computer Science undergraduates, who represent the majority of incoming developers to our project. +** Cons: Implementation could be non-trivial. +* **Alternative 2:** Use a linear data structure +** Pros: Easy to implement. +** Cons: Inefficient, higher time complexity incurred. +// end::autocomplete[] === Logging -We are using `java.util.logging` package for logging. The `LogsCenter` class is used to manage the logging levels and logging destinations. +We are using the `java.util.logging` package for logging. The `LogsCenter` class is used to manage logging levels and logging destinations. * The logging level can be controlled using the `logLevel` setting in the configuration file (See <>) -* The `Logger` for a class can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to the specified logging level -* Currently log messages are output through: `Console` and to a `.log` file. +* The `Logger` for a class `Class` can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to the specified logging level +* Currently, log messages are output through `Console` and written to a `.log` file *Logging Levels* -* `SEVERE` : Critical problem detected which may possibly cause the termination of the application +* `SEVERE` : Critical problem detected which may possibly cause the termination of the App * `WARNING` : Can continue, but with caution -* `INFO` : Information showing the noteworthy actions by the App -* `FINE` : Details that is not usually noteworthy but may be useful in debugging e.g. print the actual list instead of just its size +* `INFO` : Information regarding noteworthy actions by the App +* `FINE` : Details that are not usually noteworthy but may be useful in debugging e.g. printing the list contents instead of just its size [[Implementation-Configuration]] === Configuration -Certain properties of the application can be controlled (e.g App name, logging level) through the configuration file (default: `config.json`). +Certain properties of the application can be controlled (e.g App name, logging level) through the configuration file. By default, this is `config.json`. == Documentation -We use asciidoc for writing documentation. +We use AsciiDoc for writing documentation. [NOTE] -We chose asciidoc over Markdown because asciidoc, although a bit more complex than Markdown, provides more flexibility in formatting. +We chose AsciiDoc over Markdown because AsciiDoc, although a bit more complex than Markdown, provides more flexibility in formatting. === Editing Documentation -See <> to learn how to render `.adoc` files locally to preview the end result of your edits. +See [exref]#<># to learn how to render `.adoc` files locally to preview the end result of your edits. Alternatively, you can download the AsciiDoc plugin for IntelliJ, which allows you to preview the changes you have made to your `.adoc` files in real-time. === Publishing Documentation -See <> to learn how to deploy GitHub Pages using Travis. +See [exref]#<># to learn how to deploy GitHub Pages using Travis. === Converting Documentation to PDF format -We use https://www.google.com/chrome/browser/desktop/[Google Chrome] for converting documentation to PDF format, as Chrome's PDF engine preserves hyperlinks used in webpages. +We use [ext]#https://www.google.com/chrome/browser/desktop/[Google Chrome]# for converting documentation to PDF format, as Chrome's PDF engine preserves hyperlinks used in webpages. Here are the steps to convert the project documentation files to PDF format. -. Follow the instructions in <> to convert the AsciiDoc files in the `docs/` directory to HTML format. -. Go to your generated HTML files in the `build/docs` folder, right click on them and select `Open with` -> `Google Chrome`. -. Within Chrome, click on the `Print` option in Chrome's menu. -. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot (Fig. 11) below. +. Follow the instructions in [exref]#<># to convert the AsciiDoc files in the `docs/` directory to HTML format. +. Find the generated HTML files in the `build/docs` folder, right click on them and select `Open with` -> `Google Chrome`. +. In Chrome's menu, click on the `Print` option. +. Set the destination to `Save as PDF`, then click `Save` to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot (Fig. 19) below. -.Saving documentation as PDF files in Chrome +.Options for Saving Documentation as PDF Files in Chrome image::chrome_save_as_pdf.png[width="300"] [[Testing]] @@ -441,11 +786,11 @@ $ ./gradlew clean allTests ``` [NOTE] -See <> for more info on how to run tests using Gradle. +See [exref]#<># for more info on how to run tests using Gradle. *Method 3: Using Gradle (headless)* -Thanks to the https://github.com/TestFX/TestFX[TestFX] library we use, our GUI tests can be run in _headless_ mode. In headless mode, GUI tests do not show up on the screen. That means the developer can do other things on their computer while the tests are running. +Thanks to the [ext]#https://github.com/TestFX/TestFX[TestFX]# library we use, our GUI tests can be run in _headless_ mode. In headless mode, GUI tests do not show up on the screen. This means the developer can do other things on their computer while the tests are running. To run tests in headless mode, open a console and run the following command: @@ -459,21 +804,21 @@ $ ./gradlew clean headless allTests ``` [TIP] -The most reliable way to run tests is the 3rd one. The first two methods might fail some GUI tests due to platform/resolution-specific idiosyncrasies. +The most reliable way to run tests is the 3rd one. The first two methods might cause some GUI tests to fail due to platform/resolution-specific idiosyncrasies. === Types of tests We have two types of tests: -* *GUI Tests* - These are tests involving the GUI. They include: -** _System Tests_ that test the entire App by simulating user actions on the GUI. These are in the `systemtests` package. -** _Unit tests_ that test the individual components. These are in the `seedu.address.ui` package. -* *Non-GUI Tests* - These are tests not involving the GUI. They include: -** _Unit tests_ targeting the lowest level methods/classes. + +. *GUI Tests* - These are tests involving the GUI. They include: +.. _System Tests_ that test the entire App by simulating user actions on the GUI. These are in the `systemtests` package. +.. _Unit tests_ that test the individual components. These are in the `seedu.address.ui` package. +. *Non-GUI Tests* - These are tests not involving the GUI. They include: +.. _Unit tests_ targeting the lowest level methods/classes. + e.g. `seedu.address.commons.StringUtilTest` -** _Integration tests_ that check the integration of multiple code units (those code units are assumed to be working). + +.. _Integration tests_ that check the integration of multiple code units (those code units are assumed to be working). + e.g. `seedu.address.storage.StorageManagerTest` -** Hybrids of unit and integration tests. These tests check multiple code units as well as the connections between them. + +.. Hybrids of unit and integration tests. These tests check multiple code units as well as the connections between them. + e.g. `seedu.address.logic.LogicManagerTest` @@ -487,315 +832,36 @@ e.g. `seedu.address.logic.LogicManagerTest` === Build Automation -See <> to learn how to use Gradle for build automation. +See [exref]#<># to learn how to use Gradle for build automation. === Continuous Integration -We use https://travis-ci.org/[Travis CI] and https://www.appveyor.com/[AppVeyor] to perform _Continuous Integration_ on our projects. See <> and <> for more details. +We use [ext]#https://travis-ci.org/[Travis CI]# and [ext]#https://www.appveyor.com/[AppVeyor]# to perform _Continuous Integration_ on our projects. See [exref]#<># and [exref]#<># for more details. === Coverage Reporting -We use https://coveralls.io/[Coveralls] to track the code coverage of our projects. See <> for more details. +We use [ext]#https://coveralls.io/[Coveralls]# to track the code coverage of our projects. See [exref]#<># for more details. === Documentation Previews -When a pull request has changes to asciidoc files, you can use https://www.netlify.com/[Netlify] to see a preview of how the HTML version of those asciidoc files will look like when the pull request is merged. See <> for more details. +When a pull request has changes to AsciiDoc files, you can use [ext]#https://www.netlify.com/[Netlify]# to see a preview of the HTML version of those AsciiDoc files when the pull request is merged. See [exref]#<># for more details. === Making a Release -Here are the steps to create a new release. +Here are the steps to creating a new release. -. Update the version number in link:{repoURL}/src/main/java/seedu/address/MainApp.java[`MainApp.java`]. -. Generate a JAR file <>. +. Update the version number in +[exref]#link:{repoURL}/src/main/java/seedu/address/MainApp.java[`MainApp.java`]#. +. Generate a JAR file [exref]#<>#. . Tag the repo with the version number, e.g. `v0.1`. -. https://help.github.com/articles/creating-releases/[Create a new release using GitHub] and upload the JAR file you created. +. [ext]#https://help.github.com/articles/creating-releases/[Create a new release using GitHub]# and upload the JAR file you created in step 2. === Managing Dependencies -A project often depends on third-party libraries. For example, Address Book depends on the http://wiki.fasterxml.com/JacksonHome[Jackson library] for XML parsing. Gradle can manage these _dependencies_ for you by downloading the dependencies automatically, instead of having to: + +A project often depends on third-party libraries. For example, _CoinBook_ depends on the [ext]#http://wiki.fasterxml.com/JacksonHome[Jackson library]# for XML parsing. Gradle can manage these _dependencies_ for you by downloading the them automatically, instead of having to: + * Include those libraries in the repo (this bloats the repo size), or + * Require developers to download those libraries manually (this creates extra work for developers) -[[GetStartedProgramming]] -[appendix] -== Suggested Programming Tasks to Get Started - -Suggested path for new programmers: - -1. First, add small local-impact (i.e. the impact of the change does not go beyond the component) enhancements to one component at a time. Some suggestions are given in <>. - -2. Next, add a feature that touches multiple components to learn how to implement an end-to-end feature across all components. <> explains how to go about adding such a feature. - -[[GetStartedProgramming-EachComponent]] -=== Improving each component - -Each individual exercise in this section is component-based (i.e. you would not need to modify the other components to get it to work). - -[discrete] -==== `Logic` component - -*Scenario:* You are in charge of `logic`. During dog-fooding, your team realize that it is troublesome for the user to type the whole command in order to execute a command. Your team devise some strategies to help cut down the amount of typing necessary, and one of the suggestions was to implement aliases for the command words. Your job is to implement such aliases. - -[TIP] -Do take a look at <> before attempting to modify the `Logic` component. - -. Add a shorthand equivalent alias for each of the individual commands. For example, besides typing `clear`, the user can also type `c` to remove all persons in the list. -+ -**** -* Hints -** Just like we store each individual command word constant `COMMAND_WORD` inside `*Command.java` (e.g. link:{repoURL}/src/main/java/seedu/address/logic/commands/FindCommand.java[`FindCommand#COMMAND_WORD`], link:{repoURL}/src/main/java/seedu/address/logic/commands/DeleteCommand.java[`DeleteCommand#COMMAND_WORD`]), you need a new constant for aliases as well (e.g. `FindCommand#COMMAND_ALIAS`). -** link:{repoURL}/src/main/java/seedu/address/logic/parser/AddressBookParser.java[`AddressBookParser`] is responsible for analyzing command words. -* Solution -** Modify the switch statement in link:{repoURL}/src/main/java/seedu/address/logic/parser/AddressBookParser.java[`AddressBookParser#parseCommand(String)`] such that both the proper command word and alias can be used to execute the same intended command. -** Add new tests for each of the aliases that you have added. -** Update the user guide to document the new aliases. -** See this https://github.com/se-edu/addressbook-level4/pull/785[PR] for the full solution. -**** - -[discrete] -==== `Model` component - -*Scenario:* You are in charge of `model`. One day, the `logic`-in-charge approaches you for help. He wants to implement a command such that the user is able to remove a particular tag from everyone in the address book, but the model API does not support such a functionality at the moment. Your job is to implement an API method, so that your teammate can use your API to implement his command. - -[TIP] -Do take a look at <> before attempting to modify the `Model` component. - -. Add a `removeTag(Tag)` method. The specified tag will be removed from everyone in the address book. -+ -**** -* Hints -** The link:{repoURL}/src/main/java/seedu/address/model/Model.java[`Model`] and the link:{repoURL}/src/main/java/seedu/address/model/AddressBook.java[`AddressBook`] API need to be updated. -** Think about how you can use SLAP to design the method. Where should we place the main logic of deleting tags? -** Find out which of the existing API methods in link:{repoURL}/src/main/java/seedu/address/model/AddressBook.java[`AddressBook`] and link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`] classes can be used to implement the tag removal logic. link:{repoURL}/src/main/java/seedu/address/model/AddressBook.java[`AddressBook`] allows you to update a person, and link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`] allows you to update the tags. -* Solution -** Implement a `removeTag(Tag)` method in link:{repoURL}/src/main/java/seedu/address/model/AddressBook.java[`AddressBook`]. Loop through each person, and remove the `tag` from each person. -** Add a new API method `deleteTag(Tag)` in link:{repoURL}/src/main/java/seedu/address/model/ModelManager.java[`ModelManager`]. Your link:{repoURL}/src/main/java/seedu/address/model/ModelManager.java[`ModelManager`] should call `AddressBook#removeTag(Tag)`. -** Add new tests for each of the new public methods that you have added. -** See this https://github.com/se-edu/addressbook-level4/pull/790[PR] for the full solution. -*** The current codebase has a flaw in tags management. Tags no longer in use by anyone may still exist on the link:{repoURL}/src/main/java/seedu/address/model/AddressBook.java[`AddressBook`]. This may cause some tests to fail. See issue https://github.com/se-edu/addressbook-level4/issues/753[`#753`] for more information about this flaw. -*** The solution PR has a temporary fix for the flaw mentioned above in its first commit. -**** - -[discrete] -==== `Ui` component - -*Scenario:* You are in charge of `ui`. During a beta testing session, your team is observing how the users use your address book application. You realize that one of the users occasionally tries to delete non-existent tags from a contact, because the tags all look the same visually, and the user got confused. Another user made a typing mistake in his command, but did not realize he had done so because the error message wasn't prominent enough. A third user keeps scrolling down the list, because he keeps forgetting the index of the last person in the list. Your job is to implement improvements to the UI to solve all these problems. - -[TIP] -Do take a look at <> before attempting to modify the `UI` component. - -. Use different colors for different tags inside person cards. For example, `friends` tags can be all in brown, and `colleagues` tags can be all in yellow. -+ -**Before** -+ -image::getting-started-ui-tag-before.png[width="300"] -+ -**After** -+ -image::getting-started-ui-tag-after.png[width="300"] -+ -**** -* Hints -** The tag labels are created inside link:{repoURL}/src/main/java/seedu/address/ui/PersonCard.java[the `PersonCard` constructor] (`new Label(tag.tagName)`). https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Label.html[JavaFX's `Label` class] allows you to modify the style of each Label, such as changing its color. -** Use the .css attribute `-fx-background-color` to add a color. -** You may wish to modify link:{repoURL}/src/main/resources/view/DarkTheme.css[`DarkTheme.css`] to include some pre-defined colors using css, especially if you have experience with web-based css. -* Solution -** You can modify the existing test methods for `PersonCard` 's to include testing the tag's color as well. -** See this https://github.com/se-edu/addressbook-level4/pull/798[PR] for the full solution. -*** The PR uses the hash code of the tag names to generate a color. This is deliberately designed to ensure consistent colors each time the application runs. You may wish to expand on this design to include additional features, such as allowing users to set their own tag colors, and directly saving the colors to storage, so that tags retain their colors even if the hash code algorithm changes. -**** - -. Modify link:{repoURL}/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java[`NewResultAvailableEvent`] such that link:{repoURL}/src/main/java/seedu/address/ui/ResultDisplay.java[`ResultDisplay`] can show a different style on error (currently it shows the same regardless of errors). -+ -**Before** -+ -image::getting-started-ui-result-before.png[width="200"] -+ -**After** -+ -image::getting-started-ui-result-after.png[width="200"] -+ -**** -* Hints -** link:{repoURL}/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java[`NewResultAvailableEvent`] is raised by link:{repoURL}/src/main/java/seedu/address/ui/CommandBox.java[`CommandBox`] which also knows whether the result is a success or failure, and is caught by link:{repoURL}/src/main/java/seedu/address/ui/ResultDisplay.java[`ResultDisplay`] which is where we want to change the style to. -** Refer to link:{repoURL}/src/main/java/seedu/address/ui/CommandBox.java[`CommandBox`] for an example on how to display an error. -* Solution -** Modify link:{repoURL}/src/main/java/seedu/address/commons/events/ui/NewResultAvailableEvent.java[`NewResultAvailableEvent`] 's constructor so that users of the event can indicate whether an error has occurred. -** Modify link:{repoURL}/src/main/java/seedu/address/ui/ResultDisplay.java[`ResultDisplay#handleNewResultAvailableEvent(NewResultAvailableEvent)`] to react to this event appropriately. -** You can write two different kinds of tests to ensure that the functionality works: -*** The unit tests for `ResultDisplay` can be modified to include verification of the color. -*** The system tests link:{repoURL}/src/test/java/systemtests/AddressBookSystemTest.java[`AddressBookSystemTest#assertCommandBoxShowsDefaultStyle() and AddressBookSystemTest#assertCommandBoxShowsErrorStyle()`] to include verification for `ResultDisplay` as well. -** See this https://github.com/se-edu/addressbook-level4/pull/799[PR] for the full solution. -*** Do read the commits one at a time if you feel overwhelmed. -**** - -. Modify the link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] to show the total number of people in the address book. -+ -**Before** -+ -image::getting-started-ui-status-before.png[width="500"] -+ -**After** -+ -image::getting-started-ui-status-after.png[width="500"] -+ -**** -* Hints -** link:{repoURL}/src/main/resources/view/StatusBarFooter.fxml[`StatusBarFooter.fxml`] will need a new `StatusBar`. Be sure to set the `GridPane.columnIndex` properly for each `StatusBar` to avoid misalignment! -** link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] needs to initialize the status bar on application start, and to update it accordingly whenever the address book is updated. -* Solution -** Modify the constructor of link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] to take in the number of persons when the application just started. -** Use link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter#handleAddressBookChangedEvent(AddressBookChangedEvent)`] to update the number of persons whenever there are new changes to the addressbook. -** For tests, modify link:{repoURL}/src/test/java/guitests/guihandles/StatusBarFooterHandle.java[`StatusBarFooterHandle`] by adding a state-saving functionality for the total number of people status, just like what we did for save location and sync status. -** For system tests, modify link:{repoURL}/src/test/java/systemtests/AddressBookSystemTest.java[`AddressBookSystemTest`] to also verify the new total number of persons status bar. -** See this https://github.com/se-edu/addressbook-level4/pull/803[PR] for the full solution. -**** - -[discrete] -==== `Storage` component - -*Scenario:* You are in charge of `storage`. For your next project milestone, your team plans to implement a new feature of saving the address book to the cloud. However, the current implementation of the application constantly saves the address book after the execution of each command, which is not ideal if the user is working on limited internet connection. Your team decided that the application should instead save the changes to a temporary local backup file first, and only upload to the cloud after the user closes the application. Your job is to implement a backup API for the address book storage. - -[TIP] -Do take a look at <> before attempting to modify the `Storage` component. - -. Add a new method `backupAddressBook(ReadOnlyAddressBook)`, so that the address book can be saved in a fixed temporary location. -+ -**** -* Hint -** Add the API method in link:{repoURL}/src/main/java/seedu/address/storage/AddressBookStorage.java[`AddressBookStorage`] interface. -** Implement the logic in link:{repoURL}/src/main/java/seedu/address/storage/StorageManager.java[`StorageManager`] and link:{repoURL}/src/main/java/seedu/address/storage/XmlAddressBookStorage.java[`XmlAddressBookStorage`] class. -* Solution -** See this https://github.com/se-edu/addressbook-level4/pull/594[PR] for the full solution. -**** - -[[GetStartedProgramming-RemarkCommand]] -=== Creating a new command: `remark` - -By creating this command, you will get a chance to learn how to implement a feature end-to-end, touching all major components of the app. - -*Scenario:* You are a software maintainer for `addressbook`, as the former developer team has moved on to new projects. The current users of your application have a list of new feature requests that they hope the software will eventually have. The most popular request is to allow adding additional comments/notes about a particular contact, by providing a flexible `remark` field for each contact, rather than relying on tags alone. After designing the specification for the `remark` command, you are convinced that this feature is worth implementing. Your job is to implement the `remark` command. - -==== Description -Edits the remark for a person specified in the `INDEX`. + -Format: `remark INDEX r/[REMARK]` - -Examples: - -* `remark 1 r/Likes to drink coffee.` + -Edits the remark for the first person to `Likes to drink coffee.` -* `remark 1 r/` + -Removes the remark for the first person. - -==== Step-by-step Instructions - -===== [Step 1] Logic: Teach the app to accept 'remark' which does nothing -Let's start by teaching the application how to parse a `remark` command. We will add the logic of `remark` later. - -**Main:** - -. Add a `RemarkCommand` that extends link:{repoURL}/src/main/java/seedu/address/logic/commands/UndoableCommand.java[`UndoableCommand`]. Upon execution, it should just throw an `Exception`. -. Modify link:{repoURL}/src/main/java/seedu/address/logic/parser/AddressBookParser.java[`AddressBookParser`] to accept a `RemarkCommand`. - -**Tests:** - -. Add `RemarkCommandTest` that tests that `executeUndoableCommand()` throws an Exception. -. Add new test method to link:{repoURL}/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java[`AddressBookParserTest`], which tests that typing "remark" returns an instance of `RemarkCommand`. - -===== [Step 2] Logic: Teach the app to accept 'remark' arguments -Let's teach the application to parse arguments that our `remark` command will accept. E.g. `1 r/Likes to drink coffee.` - -**Main:** - -. Modify `RemarkCommand` to take in an `Index` and `String` and print those two parameters as the error message. -. Add `RemarkCommandParser` that knows how to parse two arguments, one index and one with prefix 'r/'. -. Modify link:{repoURL}/src/main/java/seedu/address/logic/parser/AddressBookParser.java[`AddressBookParser`] to use the newly implemented `RemarkCommandParser`. - -**Tests:** - -. Modify `RemarkCommandTest` to test the `RemarkCommand#equals()` method. -. Add `RemarkCommandParserTest` that tests different boundary values -for `RemarkCommandParser`. -. Modify link:{repoURL}/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java[`AddressBookParserTest`] to test that the correct command is generated according to the user input. - -===== [Step 3] Ui: Add a placeholder for remark in `PersonCard` -Let's add a placeholder on all our link:{repoURL}/src/main/java/seedu/address/ui/PersonCard.java[`PersonCard`] s to display a remark for each person later. - -**Main:** - -. Add a `Label` with any random text inside link:{repoURL}/src/main/resources/view/PersonListCard.fxml[`PersonListCard.fxml`]. -. Add FXML annotation in link:{repoURL}/src/main/java/seedu/address/ui/PersonCard.java[`PersonCard`] to tie the variable to the actual label. - -**Tests:** - -. Modify link:{repoURL}/src/test/java/guitests/guihandles/PersonCardHandle.java[`PersonCardHandle`] so that future tests can read the contents of the remark label. - -===== [Step 4] Model: Add `Remark` class -We have to properly encapsulate the remark in our link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`] class. Instead of just using a `String`, let's follow the conventional class structure that the codebase already uses by adding a `Remark` class. - -**Main:** - -. Add `Remark` to model component (you can copy from link:{repoURL}/src/main/java/seedu/address/model/person/Address.java[`Address`], remove the regex and change the names accordingly). -. Modify `RemarkCommand` to now take in a `Remark` instead of a `String`. - -**Tests:** - -. Add test for `Remark`, to test the `Remark#equals()` method. - -===== [Step 5] Model: Modify `Person` to support a `Remark` field -Now we have the `Remark` class, we need to actually use it inside link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`]. - -**Main:** - -. Add `getRemark()` in link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`]. -. You may assume that the user will not be able to use the `add` and `edit` commands to modify the remarks field (i.e. the person will be created without a remark). -. Modify link:{repoURL}/src/main/java/seedu/address/model/util/SampleDataUtil.java/[`SampleDataUtil`] to add remarks for the sample data (delete your `addressBook.xml` so that the application will load the sample data when you launch it.) - -===== [Step 6] Storage: Add `Remark` field to `XmlAdaptedPerson` class -We now have `Remark` s for `Person` s, but they will be gone when we exit the application. Let's modify link:{repoURL}/src/main/java/seedu/address/storage/XmlAdaptedPerson.java[`XmlAdaptedPerson`] to include a `Remark` field so that it will be saved. - -**Main:** - -. Add a new Xml field for `Remark`. - -**Tests:** - -. Fix `invalidAndValidPersonAddressBook.xml`, `typicalPersonsAddressBook.xml`, `validAddressBook.xml` etc., such that the XML tests will not fail due to a missing `` element. - -===== [Step 6b] Test: Add withRemark() for `PersonBuilder` -Since `Person` can now have a `Remark`, we should add a helper method to link:{repoURL}/src/test/java/seedu/address/testutil/PersonBuilder.java[`PersonBuilder`], so that users are able to create remarks when building a link:{repoURL}/src/main/java/seedu/address/model/person/Person.java[`Person`]. - -**Tests:** - -. Add a new method `withRemark()` for link:{repoURL}/src/test/java/seedu/address/testutil/PersonBuilder.java[`PersonBuilder`]. This method will create a new `Remark` for the person that it is currently building. -. Try and use the method on any sample `Person` in link:{repoURL}/src/test/java/seedu/address/testutil/TypicalPersons.java[`TypicalPersons`]. - -===== [Step 7] Ui: Connect `Remark` field to `PersonCard` -Our remark label in link:{repoURL}/src/main/java/seedu/address/ui/PersonCard.java[`PersonCard`] is still a placeholder. Let's bring it to life by binding it with the actual `remark` field. - -**Main:** - -. Modify link:{repoURL}/src/main/java/seedu/address/ui/PersonCard.java[`PersonCard`]'s constructor to bind the `Remark` field to the `Person` 's remark. - -**Tests:** - -. Modify link:{repoURL}/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java[`GuiTestAssert#assertCardDisplaysPerson(...)`] so that it will compare the now-functioning remark label. - -===== [Step 8] Logic: Implement `RemarkCommand#execute()` logic -We now have everything set up... but we still can't modify the remarks. Let's finish it up by adding in actual logic for our `remark` command. - -**Main:** - -. Replace the logic in `RemarkCommand#execute()` (that currently just throws an `Exception`), with the actual logic to modify the remarks of a person. - -**Tests:** - -. Update `RemarkCommandTest` to test that the `execute()` logic works. - -==== Full Solution - -See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step-by-step solution. - [appendix] == Product Scope @@ -934,11 +1000,14 @@ _{More to be added}_ [appendix] == Glossary +[[API] API:: +Short for Application-Programmer Interface. + [[alias]] Alias:: -Alternate names for commands. +Alternative forms of commands that are usually shorter for typing efficiency. [[coinmarketcap]] Coinmarketcap:: -A website that hosts Cryptocurrency information, including cap rankings, prices, volumes and circulating supplies. +A website that hosts <> information, including cap rankings, prices, volumes and circulating supplies. [[coin]] Coin:: See <>. @@ -976,27 +1045,10 @@ A moving average window of closing prices over a past period that places equal w [[support-lines]] Support lines:: When the price of a coin has fallen to a certain amount, the price may eventually sustain its value at this point for a period of time. This is when it obtains "support". -[appendix] -== Product Survey - -*Product Name* - -Author: ... - -Pros: - -* ... -* ... - -Cons: - -* ... -* ... - [appendix] == Instructions for Manual Testing -Given below are instructions to test the app manually. +Given below are instructions to test the App manually. [NOTE] These instructions only provide a starting point for testers to work on; testers are expected to do more _exploratory_ testing. diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 5c1da96d866e..d1d2bea92357 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -24,10 +24,10 @@ Text with special meaning look different. Here are the various types: ** kbd:[Q] means to press the `Q` key ** kbd:[Ctrl]+kbd:[Q] means to hold down the `Ctrl` key and then press the `Q` key ** kbd:[Ctrl]kbd:[Q]kbd:[E] means to press the `Ctrl` key, then press the `Q` key, followed by the `E` key; holding down is not required -* Links are marked link:javascript:void(0);[blue with underline] -** Cross-ref links bring you to another part of the document, and look like link:javascript:void(0);[this] -** External cross-ref links bring you to another document, and look like [exref]#link:javascript:void(0);[this]# -** External links bring you to another website, and look like [ext]#link:javascript:void(0);[this]# +* Links are marked <> +** Cross-ref links bring you to another part of the document, and look like <> +** External cross-ref links bring you to another document, and look like [exref]#<># +** External links bring you to another website, and look like [ext]#<># == Introduction diff --git a/docs/diagrams/NotificationsSequenceDiagram1.uml b/docs/diagrams/NotificationsSequenceDiagram1.uml new file mode 100644 index 000000000000..8bce1f486006 --- /dev/null +++ b/docs/diagrams/NotificationsSequenceDiagram1.uml @@ -0,0 +1,36 @@ +.Sequence Diagram for Notifications +[uml,file="../images/NotificationsSequenceDiagram1.png"] +-- + +hide footbox +skinparam SequenceMessageAlign center + +participant ":LogicManager" as LM +participant ":AddressBookParser" as A +participant "n:NotifyCommand" as N +participant ":NotificationManager" as M + +[-> LM : execute("notify BTC p/15000") +activate LM #FFAABB + +LM -> A : parseCommand("notify BTC p/15000") +activate A + +ref over A : parse command +LM <-- A : n +deactivate A + +LM -> N : execute() +activate N +N -> M : addNotificationRule +activate M +N <-- M +deactivate M + +LM <-- N : result +deactivate N +[<-- LM : result +deactivate LM +destroy N + +-- diff --git a/docs/diagrams/NotificationsSequenceDiagram2.uml b/docs/diagrams/NotificationsSequenceDiagram2.uml new file mode 100644 index 000000000000..8fb77b853387 --- /dev/null +++ b/docs/diagrams/NotificationsSequenceDiagram2.uml @@ -0,0 +1,47 @@ +.Sequence Diagram for Notifications +[uml,file="../images/NotificationsSequenceDiagram2.png"] +-- + +hide footbox + +participant ":LogicManager" as LM +participant "u:UpdateCommand" as U +participant ":ModelManager" as M +participant ":EventsCenter" as E +participant ":NotificationManager" as N + + +[-> LM : execute("update") +activate LM +LM ->] : parseCommand("update") +LM <--] : u + +LM -> U : execute() +activate U +U ->] : fetch data +U <--] : data + +U -> M : updateAll(data) +activate M +M -> E : post(CoinChangedEvent) +activate E +E -> N : handleCoinChangedEvent() +activate N +N -> N : Check & trigger\nnotifications +activate N +N --> N +deactivate N +E <-- N +deactivate N +M <-- E +deactivate E +U <-- M +deactivate M + +LM <-- U : result +deactivate U +[<-- LM : result +deactivate LM +destroy U + +-- diff --git a/docs/images/Lexer.png b/docs/images/Lexer.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6a0754471c4f47b26bef467547e10f9008001b GIT binary patch literal 12309 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 T?Xm>a`C}-`smc~g8~OY{4$bWf literal 0 HcmV?d00001 diff --git a/docs/images/NotificationsSequenceDiagram1.png b/docs/images/NotificationsSequenceDiagram1.png new file mode 100644 index 0000000000000000000000000000000000000000..734767086e625913b8ba8306c0c785dc31ef0bde GIT binary patch literal 15602 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°CrOGxtI%?=K_A3fmQ3`X;hjL%4`gNlqF;nx; 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%0A_&Mqv&*KUbDqlW?!4H{>{SBB$29mA# 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 literal 0 HcmV?d00001 diff --git a/docs/images/failSequence.png b/docs/images/failSequence.png new file mode 100644 index 0000000000000000000000000000000000000000..e00be3de4c875ab027da86f8dd9fbe82408e16ff GIT binary patch literal 26207 zcmcG$c|4ST`!_!Ai=+st5GC7KA|zXdtjW$0D#pH3$lgLI`;sO5zGm#ZLNdsbeJ8SI z-}mP@>AvsletzHQ_t*1Wuh(^%*UX%s^PJD}KHkUscpsOCtc)1p=}V_kC={WDxQILo zb@(^@d;8>JcqgT)L>>MxT8pY$Ynz$d8Dn*=QDRtAtmRW{tj^VEc31VStg{_LgBLlRlVu*K z!z9j7G*T==c<92+&}U-;jN+*3d;05!GPdcTKh_X`Fu7ix_=#FQj7g)~R?1|x;CpDIPWQ{pz6+>~k#pMGf&|5~kHA{G)4q+tm^O!C#bjCuaUr=m9}Po(8n z`2;vhC68=44~>+y+-)CBCGeH`bc>wsl`mJ5=*yF9%JnzC#M*xja9qE|Iv3&0)vxk| z)i7wB1@B_}`;%6jbjjT73`^EYn$s~4G{UaT|1O_)3@s_Aw0iZo-O&s<*pTUJ-Y_g6I$kdEgH*`>#rVIJgyhDt1J*w|j~{P6x4V#8+8sBZvvrt@o`%!v65TMj%i#UQ zsf1e-e*~%O`iknEhDfq3InH@VeqeA3|GJdrKxP@L#LwBl(71a^xr|_lM%Ve!vkzT3 zsV9*MD3tcPgvdQb+nzsVgsOp^pXN=3Z&*v7q$7`MD;5mop2oS=yW^z9pPi8s|BYp= zSEDX&OQiOhHVWp+%jqaq_a%o{pV|?UJ1n*i=ljAJs`1Wn9*{23KIpzo)VO%#GM4?>b2vP9Ugun3u82aTKV zp5E={L7|?U4jk*BQMdP2S-)?)wvcfs8eRS~()Gf2nHdUId4a*J;Y5@}>lDFo+@>c= zmTb@fxo`k3yow4M3#wha#m$|cm-p$;^Qk}GIY*8hVIcT2xOE(bIvS1ZI-O4`=&;_E zt=-tz$ica?x*Cf<>O6NDg*xYgU)=6-Uz_c>pC7sx8ag^>u%UekOS5i|JS|Ew7#DRR zI5-&JaNYS44>x!D-tN{v##J=!V*1%?)g+*o(>>}lsgNWS^LJbqTr`@20ELQ1OG_~j zI37X469>L^!NCOKiA(W|URqtUWGK|h)7VfhqmICaTfdm-KL;fgtgWXi4SIW*x9AkV z*xk-5o&Q>;!1c-KL%QgF;jHlOjEEKb`}Z?%h6`I+&Q4D9y1{^VpD+=mp_#T<3+Vm* zN2DZAvuZjhI5{pgj%#b{32prmR;eRM8eN?v*jWD+eB?y_@84?3t>-Ue>zekQR6k;N z|HwSt3Fp+)Y-y!_$-u_XkLFl(qmOE^*(uRVoSJi5o3?B#wad<`(7a@f$2skIW~e*I zKRR!8-eaLJwe{sQUaRqMZ{9rC=Fr$$tbb&1c%kyhU|>h2z*Zu;rfpYBp5CN+anP?j zUPjc-WM)n)X<_N!Q&v& z-+%D<+Uu6<^WN+0Y$w8T-|3v^UHd;BD>hOx5V(0{jO-aP$4=UEE%lzo(_tb-Beuuu zLK^Do&RehP$6!L6kw__JiLr&E*Tjq zk6-+rl29NXDYQL2KBDf!zbIU#EeF#Yh?U24IPa>oiCs1vzRonY#1!f8KR@jLoN0F{ zs$%Gl4L*V;N3Pk4J>IUeP)$kgQH6H`m#(~gY4G6ZJi;Jssh-8=6Y;iD*AwLis(Ze^ zMrXW;gXAJpi99@<6Xs5Z;cruV!J%JmbTJ@~Rq%mxcA}k<8-R)pv9Ps|W^GZAJ1U(~? zmWwPsfqgy2P0!DkZ2T_zvi+smjc_d_@WO;bq`m3SnF6-?zSLPAS~|LW^?O=-ν{ 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
4th street
- - - + + + Hans Muster 948asdf2424 hans@example.com
4th street
-
+ diff --git a/src/test/data/XmlAddressBookStorageTest/invalidPersonAddressBook.xml b/src/test/data/XmlAddressBookStorageTest/invalidCoinAddressBook.xml similarity index 79% rename from src/test/data/XmlAddressBookStorageTest/invalidPersonAddressBook.xml rename to src/test/data/XmlAddressBookStorageTest/invalidCoinAddressBook.xml index cfa128e72828..fd56e14face8 100644 --- a/src/test/data/XmlAddressBookStorageTest/invalidPersonAddressBook.xml +++ b/src/test/data/XmlAddressBookStorageTest/invalidCoinAddressBook.xml @@ -1,10 +1,10 @@ - - + + Ha!ns Mu@ster 9482424 hans@example.com
4th street
-
+
diff --git a/src/test/data/XmlSerializableAddressBookTest/invalidPersonAddressBook.xml b/src/test/data/XmlSerializableAddressBookTest/invalidCoinAddressBook.xml similarity index 79% rename from src/test/data/XmlSerializableAddressBookTest/invalidPersonAddressBook.xml rename to src/test/data/XmlSerializableAddressBookTest/invalidCoinAddressBook.xml index 13d5b1cb1c8a..a3ebd9d0718c 100644 --- a/src/test/data/XmlSerializableAddressBookTest/invalidPersonAddressBook.xml +++ b/src/test/data/XmlSerializableAddressBookTest/invalidCoinAddressBook.xml @@ -1,10 +1,10 @@ - - + + Hans Muster 9482424 hans@exam!32ple
4th street
-
+
diff --git a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml b/src/test/data/XmlSerializableAddressBookTest/typicalCoinsAddressBook.xml similarity index 79% rename from src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml rename to src/test/data/XmlSerializableAddressBookTest/typicalCoinsAddressBook.xml index c778cccc4c89..bee35bd1afdf 100644 --- a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml +++ b/src/test/data/XmlSerializableAddressBookTest/typicalCoinsAddressBook.xml @@ -1,52 +1,52 @@ - + - + Alice Pauline 85355255 alice@example.com
123, Jurong West Ave 6, #08-111
friends -
- + + Benson Meier 98765432 johnd@example.com
311, Clementi Ave 2, #02-25
owesMoney friends -
- + + Carl Kurz 95352563 heinz@example.com
wall street
-
- + + Daniel Meier 87652533 cornelia@example.com
10th street
-
- + + Elle Meyer 9482224 werner@example.com
michegan ave
-
- + + Fiona Kunz 9482427 lydia@example.com
little tokyo
-
- + + George Best 9482442 anna@example.com
4th street
-
+ friends owesMoney
diff --git a/src/test/data/XmlUtilTest/invalidPersonField.xml b/src/test/data/XmlUtilTest/invalidCoinField.xml similarity index 76% rename from src/test/data/XmlUtilTest/invalidPersonField.xml rename to src/test/data/XmlUtilTest/invalidCoinField.xml index ba49c971e884..660a978dcec0 100644 --- a/src/test/data/XmlUtilTest/invalidPersonField.xml +++ b/src/test/data/XmlUtilTest/invalidCoinField.xml @@ -1,9 +1,9 @@ - - + + Hans Muster 9482asf424 hans@example
4th street
friends -
+

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 maUCs1@yrL3IWN#`5o%M}K2ZzB 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 D&X{{+ literal 0 HcmV?d00001 diff --git a/docs/images/parsetree.png b/docs/images/parsetree.png new file mode 100644 index 0000000000000000000000000000000000000000..acf12fab4092f63574d97675906c71585bde52f1 GIT binary patch literal 14421 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 literal 0 HcmV?d00001 diff --git a/docs/stylesheets/asciidoctor.css b/docs/stylesheets/asciidoctor.css index acfa60c2adab..8a28bc409d69 100644 --- a/docs/stylesheets/asciidoctor.css +++ b/docs/stylesheets/asciidoctor.css @@ -414,7 +414,11 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b border-bottom: 1px dashed #999; text-decoration: none; } -.exref, .exref > a { +.exref { + background: url(../images/file-link-icon.png) center right no-repeat; + padding-right: 13px; +} +.exref > a { font-weight:bold; } .ext { From c7db6b8cac98f7f3be6f2e68ceab906228e220f2 Mon Sep 17 00:00:00 2001 From: Ewald Hew Date: Fri, 23 Mar 2018 08:08:23 +0800 Subject: [PATCH 029/120] [#61] Prepare for new feature (#68) * NotifyCommand: Add basic code * RuleBook: Create all associated classes empty --- .../address/logic/commands/NotifyCommand.java | 34 +++++++++++++++ .../logic/parser/AddressBookParser.java | 5 +++ .../seedu/address/model/ReadOnlyRuleBook.java | 7 ++++ .../java/seedu/address/model/RuleBook.java | 22 ++++++++++ .../model/rule/DuplicateRuleException.java | 12 ++++++ .../java/seedu/address/model/rule/Rule.java | 8 ++++ .../address/model/rule/UniqueRuleList.java | 42 +++++++++++++++++++ 7 files changed, 130 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/NotifyCommand.java create mode 100644 src/main/java/seedu/address/model/ReadOnlyRuleBook.java create mode 100644 src/main/java/seedu/address/model/RuleBook.java create mode 100644 src/main/java/seedu/address/model/rule/DuplicateRuleException.java create mode 100644 src/main/java/seedu/address/model/rule/Rule.java create mode 100644 src/main/java/seedu/address/model/rule/UniqueRuleList.java diff --git a/src/main/java/seedu/address/logic/commands/NotifyCommand.java b/src/main/java/seedu/address/logic/commands/NotifyCommand.java new file mode 100644 index 000000000000..3fee440a45f4 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/NotifyCommand.java @@ -0,0 +1,34 @@ +package seedu.address.logic.commands; + +/** + * Adds a new notification with the specified conditions. + */ +public class NotifyCommand extends Command { + + public static final String COMMAND_WORD = "notify"; + public static final String COMMAND_ALIAS = "n"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a new notification to be triggered " + + "upon the specified rule. Rules are provided in the following format:\n" + + "Parameters: INDEX/NAME/CODE OPTION/VALUE [...] \n" + + "Example: " + COMMAND_WORD + " BTC p/15000"; + + //private final Predicate predicate; + + public NotifyCommand() { + //this.predicate = predicate; + } + + @Override + public CommandResult execute() { + return new CommandResult("Coming soon.."); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof NotifyCommand); // instanceof handles nulls + //&& this.predicate.equals(((NotifyCommand) other).predicate)); // state check + + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index ae84917f7f04..d435cbf8b504 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -16,6 +16,7 @@ import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.HistoryCommand; import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.NotifyCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.UndoCommand; @@ -72,6 +73,10 @@ public Command parseCommand(String userInput) throws ParseException { case FindCommand.COMMAND_ALIAS: return new FindCommandParser().parse(arguments); + case NotifyCommand.COMMAND_WORD: + case NotifyCommand.COMMAND_ALIAS: + return new NotifyCommand(); + case ListCommand.COMMAND_WORD: case ListCommand.COMMAND_ALIAS: return new ListCommand(); diff --git a/src/main/java/seedu/address/model/ReadOnlyRuleBook.java b/src/main/java/seedu/address/model/ReadOnlyRuleBook.java new file mode 100644 index 000000000000..393da196b468 --- /dev/null +++ b/src/main/java/seedu/address/model/ReadOnlyRuleBook.java @@ -0,0 +1,7 @@ +package seedu.address.model; + +/** + * Unmodifiable view of a rule book + */ +public interface ReadOnlyRuleBook { +} diff --git a/src/main/java/seedu/address/model/RuleBook.java b/src/main/java/seedu/address/model/RuleBook.java new file mode 100644 index 000000000000..21c0998fde8b --- /dev/null +++ b/src/main/java/seedu/address/model/RuleBook.java @@ -0,0 +1,22 @@ +package seedu.address.model; + +import seedu.address.model.rule.UniqueRuleList; + +/** + * Stores a list of rules that can be used for notifications, etc. + */ +public class RuleBook implements ReadOnlyRuleBook { + + private final UniqueRuleList rules; + + public RuleBook() { + rules = new UniqueRuleList(); + } + + /** + * Creates a RuleBook using the rules in {@code toBeCopied} + */ + public RuleBook(ReadOnlyRuleBook toBeCopied) { + this(); + } +} diff --git a/src/main/java/seedu/address/model/rule/DuplicateRuleException.java b/src/main/java/seedu/address/model/rule/DuplicateRuleException.java new file mode 100644 index 000000000000..10dff2fa1cb9 --- /dev/null +++ b/src/main/java/seedu/address/model/rule/DuplicateRuleException.java @@ -0,0 +1,12 @@ +package seedu.address.model.rule; + +import seedu.address.commons.exceptions.DuplicateDataException; + +/** + * Signals that the operation will result in duplicate Rule objects. + */ +public class DuplicateRuleException extends DuplicateDataException { + public DuplicateRuleException() { + super("Operation would result in duplicate rule"); + } +} diff --git a/src/main/java/seedu/address/model/rule/Rule.java b/src/main/java/seedu/address/model/rule/Rule.java new file mode 100644 index 000000000000..6e9248623c94 --- /dev/null +++ b/src/main/java/seedu/address/model/rule/Rule.java @@ -0,0 +1,8 @@ +package seedu.address.model.rule; + +/** + * Represents a Rule in the rule book. + * Guarantees: details are present and not null, field values are validated, immutable. + */ +public class Rule { +} diff --git a/src/main/java/seedu/address/model/rule/UniqueRuleList.java b/src/main/java/seedu/address/model/rule/UniqueRuleList.java new file mode 100644 index 000000000000..451e1f214472 --- /dev/null +++ b/src/main/java/seedu/address/model/rule/UniqueRuleList.java @@ -0,0 +1,42 @@ +package seedu.address.model.rule; + +import static java.util.Objects.requireNonNull; + +import java.util.Collection; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.util.CollectionUtil; + +/** + * A list of rules that enforce uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + * + * @see CollectionUtil#elementsAreUnique(Collection) + */ +public class UniqueRuleList { + + private final ObservableList internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent person as the given argument. + */ + public boolean contains(Rule toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds a rule to the list. + * + * @throws DuplicateRuleException if the rule to add is a duplicate of an existing rule in the list. + */ + public void add(Rule toAdd) throws DuplicateRuleException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateRuleException(); + } + internalList.add(toAdd); + } +} From 3725ca337cad5b85f23a54392c8ed4c4c0d8ff93 Mon Sep 17 00:00:00 2001 From: Eldon-Chung Date: Fri, 23 Mar 2018 08:41:41 +0800 Subject: [PATCH 030/120] [#26] Refactor person class (#78) * Refactor all instances of Person to Coin * Coin.java: Add Amount and Price class to Coin class Add Amount held, sold, bought and profit calculation * CoinCard.java: Remove/add fields that are to be displayed on the UI --- docs/DeveloperGuide.adoc | 16 +- ...orDeletePerson.png => SDforDeleteCoin.png} | Bin .../seedu/address/commons/core/Messages.java | 4 +- .../events/model/AddressBookChangedEvent.java | 2 +- .../ui/CoinPanelSelectionChangedEvent.java | 26 +++ .../events/ui/JumpToListRequestEvent.java | 2 +- .../ui/PersonPanelSelectionChangedEvent.java | 26 --- src/main/java/seedu/address/logic/Logic.java | 6 +- .../seedu/address/logic/LogicManager.java | 6 +- .../address/logic/commands/AddCommand.java | 28 +-- .../seedu/address/logic/commands/Command.java | 8 +- .../address/logic/commands/DeleteCommand.java | 30 ++-- .../address/logic/commands/EditCommand.java | 104 +++++------ .../address/logic/commands/FindCommand.java | 10 +- .../address/logic/commands/ListCommand.java | 8 +- .../address/logic/commands/SelectCommand.java | 14 +- .../logic/commands/UndoableCommand.java | 14 +- .../logic/parser/AddCommandParser.java | 14 +- .../logic/parser/EditCommandParser.java | 18 +- .../logic/parser/FindCommandParser.java | 2 +- .../address/logic/parser/ParserUtil.java | 8 +- .../java/seedu/address/model/AddressBook.java | 110 ++++++------ src/main/java/seedu/address/model/Model.java | 36 ++-- .../seedu/address/model/ModelManager.java | 42 ++--- .../address/model/ReadOnlyAddressBook.java | 8 +- .../model/{person => coin}/Address.java | 8 +- .../java/seedu/address/model/coin/Amount.java | 49 +++++ .../java/seedu/address/model/coin/Coin.java | 150 ++++++++++++++++ .../address/model/{person => coin}/Email.java | 8 +- .../address/model/{person => coin}/Name.java | 8 +- .../NameContainsKeywordsPredicate.java | 10 +- .../address/model/{person => coin}/Phone.java | 6 +- .../java/seedu/address/model/coin/Price.java | 35 ++++ .../address/model/coin/UniqueCoinList.java | 121 +++++++++++++ .../exceptions/CoinNotFoundException.java | 6 + .../exceptions/DuplicateCoinException.java | 12 ++ .../seedu/address/model/person/Person.java | 100 ----------- .../model/person/UniquePersonList.java | 120 ------------- .../exceptions/DuplicatePersonException.java | 12 -- .../exceptions/PersonNotFoundException.java | 6 - .../address/model/util/SampleDataUtil.java | 36 ++-- ...AdaptedPerson.java => XmlAdaptedCoin.java} | 58 +++--- .../seedu/address/storage/XmlAdaptedTag.java | 2 +- .../storage/XmlSerializableAddressBook.java | 14 +- .../java/seedu/address/ui/BrowserPanel.java | 12 +- .../ui/{PersonCard.java => CoinCard.java} | 33 ++-- .../java/seedu/address/ui/CoinListPanel.java | 88 +++++++++ .../java/seedu/address/ui/MainWindow.java | 14 +- .../java/seedu/address/ui/NewsListPanel.java | 2 +- .../seedu/address/ui/PersonListPanel.java | 88 --------- .../seedu/address/ui/StatusBarFooter.java | 2 +- ...{PersonListCard.fxml => CoinListCard.fxml} | 17 +- ...ersonListPanel.fxml => CoinListPanel.fxml} | 2 +- src/main/resources/view/DarkTheme.css | 2 +- src/main/resources/view/MainWindow.fxml | 4 +- ...xml => invalidAndValidCoinAddressBook.xml} | 12 +- ...essBook.xml => invalidCoinAddressBook.xml} | 6 +- ...essBook.xml => invalidCoinAddressBook.xml} | 6 +- ...ssBook.xml => typicalCoinsAddressBook.xml} | 32 ++-- ...idPersonField.xml => invalidCoinField.xml} | 6 +- ...ngPersonField.xml => missingCoinField.xml} | 6 +- src/test/data/XmlUtilTest/tempAddressBook.xml | 4 +- .../data/XmlUtilTest/validAddressBook.xml | 36 ++-- .../{validPerson.xml => validCoin.xml} | 4 +- ...sonCardHandle.java => CoinCardHandle.java} | 30 ++-- .../guihandles/CoinListPanelHandle.java | 134 ++++++++++++++ .../guitests/guihandles/MainWindowHandle.java | 8 +- .../guihandles/PersonListPanelHandle.java | 134 -------------- src/test/java/seedu/address/TestApp.java | 2 +- .../address/commons/core/index/IndexTest.java | 14 +- .../address/commons/util/XmlUtilTest.java | 50 +++--- .../seedu/address/logic/LogicManagerTest.java | 8 +- .../commands/AddCommandIntegrationTest.java | 28 +-- .../logic/commands/AddCommandTest.java | 76 ++++---- .../logic/commands/ClearCommandTest.java | 2 +- .../logic/commands/CommandTestUtil.java | 48 ++--- .../logic/commands/DeleteCommandTest.java | 96 +++++----- ...rTest.java => EditCoinDescriptorTest.java} | 18 +- .../logic/commands/EditCommandTest.java | 168 +++++++++--------- .../logic/commands/FindCommandTest.java | 30 ++-- .../logic/commands/ListCommandTest.java | 8 +- .../logic/commands/RedoCommandTest.java | 16 +- .../logic/commands/SelectCommandTest.java | 44 ++--- .../logic/commands/UndoCommandTest.java | 12 +- .../logic/commands/UndoableCommandTest.java | 34 ++-- .../logic/parser/AddCommandParserTest.java | 32 ++-- .../logic/parser/AddressBookParserTest.java | 52 +++--- .../logic/parser/DeleteCommandParserTest.java | 4 +- .../logic/parser/EditCommandParserTest.java | 54 +++--- .../logic/parser/FindCommandParserTest.java | 2 +- .../address/logic/parser/ParserUtilTest.java | 14 +- .../logic/parser/SelectCommandParserTest.java | 4 +- .../seedu/address/model/AddressBookTest.java | 30 ++-- .../seedu/address/model/ModelManagerTest.java | 18 +- ...nListTest.java => UniqueCoinListTest.java} | 8 +- .../model/{person => coin}/AddressTest.java | 2 +- .../model/{person => coin}/EmailTest.java | 2 +- .../NameContainsKeywordsPredicateTest.java | 20 +-- .../model/{person => coin}/NameTest.java | 2 +- .../model/{person => coin}/PhoneTest.java | 2 +- .../address/storage/StorageManagerTest.java | 2 +- ...ersonTest.java => XmlAdaptedCoinTest.java} | 66 +++---- .../storage/XmlAddressBookStorageTest.java | 22 +-- .../XmlSerializableAddressBookTest.java | 18 +- .../address/testutil/AddressBookBuilder.java | 16 +- .../{PersonBuilder.java => CoinBuilder.java} | 54 +++--- .../java/seedu/address/testutil/CoinUtil.java | 45 +++++ .../testutil/EditCoinDescriptorBuilder.java | 87 +++++++++ .../testutil/EditPersonDescriptorBuilder.java | 87 --------- .../seedu/address/testutil/PersonUtil.java | 45 ----- .../java/seedu/address/testutil/TestUtil.java | 16 +- ...{TypicalPersons.java => TypicalCoins.java} | 44 ++--- .../address/testutil/TypicalIndexes.java | 6 +- .../seedu/address/ui/BrowserPanelTest.java | 14 +- .../java/seedu/address/ui/CoinCardTest.java | 72 ++++++++ .../seedu/address/ui/CoinListPanelTest.java | 58 ++++++ .../java/seedu/address/ui/PersonCardTest.java | 72 -------- .../seedu/address/ui/PersonListPanelTest.java | 58 ------ .../seedu/address/ui/StatusBarFooterTest.java | 14 +- .../address/ui/testutil/GuiTestAssert.java | 46 +++-- .../systemtests/AddCommandSystemTest.java | 110 ++++++------ .../systemtests/AddressBookSystemTest.java | 66 +++---- .../systemtests/ClearCommandSystemTest.java | 10 +- .../systemtests/DeleteCommandSystemTest.java | 94 +++++----- .../systemtests/EditCommandSystemTest.java | 152 ++++++++-------- .../systemtests/FindCommandSystemTest.java | 66 +++---- .../systemtests/HelpCommandSystemTest.java | 10 +- src/test/java/systemtests/ModelHelper.java | 18 +- src/test/java/systemtests/SampleDataTest.java | 6 +- .../systemtests/SelectCommandSystemTest.java | 60 +++---- 130 files changed, 2227 insertions(+), 2092 deletions(-) rename docs/images/{SDforDeletePerson.png => SDforDeleteCoin.png} (100%) create mode 100644 src/main/java/seedu/address/commons/events/ui/CoinPanelSelectionChangedEvent.java delete mode 100644 src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java rename src/main/java/seedu/address/model/{person => coin}/Address.java (85%) create mode 100644 src/main/java/seedu/address/model/coin/Amount.java create mode 100644 src/main/java/seedu/address/model/coin/Coin.java rename src/main/java/seedu/address/model/{person => coin}/Email.java (89%) rename src/main/java/seedu/address/model/{person => coin}/Name.java (84%) rename src/main/java/seedu/address/model/{person => coin}/NameContainsKeywordsPredicate.java (78%) rename src/main/java/seedu/address/model/{person => coin}/Phone.java (88%) create mode 100644 src/main/java/seedu/address/model/coin/Price.java create mode 100644 src/main/java/seedu/address/model/coin/UniqueCoinList.java create mode 100644 src/main/java/seedu/address/model/coin/exceptions/CoinNotFoundException.java create mode 100644 src/main/java/seedu/address/model/coin/exceptions/DuplicateCoinException.java delete mode 100644 src/main/java/seedu/address/model/person/Person.java delete mode 100644 src/main/java/seedu/address/model/person/UniquePersonList.java delete mode 100644 src/main/java/seedu/address/model/person/exceptions/DuplicatePersonException.java delete mode 100644 src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java rename src/main/java/seedu/address/storage/{XmlAdaptedPerson.java => XmlAdaptedCoin.java} (65%) rename src/main/java/seedu/address/ui/{PersonCard.java => CoinCard.java} (72%) create mode 100644 src/main/java/seedu/address/ui/CoinListPanel.java delete mode 100644 src/main/java/seedu/address/ui/PersonListPanel.java rename src/main/resources/view/{PersonListCard.fxml => CoinListCard.fxml} (66%) rename src/main/resources/view/{PersonListPanel.fxml => CoinListPanel.fxml} (77%) rename src/test/data/XmlAddressBookStorageTest/{invalidAndValidPersonAddressBook.xml => invalidAndValidCoinAddressBook.xml} (78%) rename src/test/data/XmlAddressBookStorageTest/{invalidPersonAddressBook.xml => invalidCoinAddressBook.xml} (79%) rename src/test/data/XmlSerializableAddressBookTest/{invalidPersonAddressBook.xml => invalidCoinAddressBook.xml} (79%) rename src/test/data/XmlSerializableAddressBookTest/{typicalPersonsAddressBook.xml => typicalCoinsAddressBook.xml} (79%) rename src/test/data/XmlUtilTest/{invalidPersonField.xml => invalidCoinField.xml} (76%) rename src/test/data/XmlUtilTest/{missingPersonField.xml => missingCoinField.xml} (75%) rename src/test/data/XmlUtilTest/{validPerson.xml => validCoin.xml} (91%) rename src/test/java/guitests/guihandles/{PersonCardHandle.java => CoinCardHandle.java} (67%) create mode 100644 src/test/java/guitests/guihandles/CoinListPanelHandle.java delete mode 100644 src/test/java/guitests/guihandles/PersonListPanelHandle.java rename src/test/java/seedu/address/logic/commands/{EditPersonDescriptorTest.java => EditCoinDescriptorTest.java} (67%) rename src/test/java/seedu/address/model/{UniquePersonListTest.java => UniqueCoinListTest.java} (62%) rename src/test/java/seedu/address/model/{person => coin}/AddressTest.java (97%) rename src/test/java/seedu/address/model/{person => coin}/EmailTest.java (98%) rename src/test/java/seedu/address/model/{person => coin}/NameContainsKeywordsPredicateTest.java (76%) rename src/test/java/seedu/address/model/{person => coin}/NameTest.java (97%) rename src/test/java/seedu/address/model/{person => coin}/PhoneTest.java (97%) rename src/test/java/seedu/address/storage/{XmlAdaptedPersonTest.java => XmlAdaptedCoinTest.java} (61%) rename src/test/java/seedu/address/testutil/{PersonBuilder.java => CoinBuilder.java} (51%) create mode 100644 src/test/java/seedu/address/testutil/CoinUtil.java create mode 100644 src/test/java/seedu/address/testutil/EditCoinDescriptorBuilder.java delete mode 100644 src/test/java/seedu/address/testutil/EditPersonDescriptorBuilder.java delete mode 100644 src/test/java/seedu/address/testutil/PersonUtil.java rename src/test/java/seedu/address/testutil/{TypicalPersons.java => TypicalCoins.java} (59%) create mode 100644 src/test/java/seedu/address/ui/CoinCardTest.java create mode 100644 src/test/java/seedu/address/ui/CoinListPanelTest.java delete mode 100644 src/test/java/seedu/address/ui/PersonCardTest.java delete mode 100644 src/test/java/seedu/address/ui/PersonListPanelTest.java diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 753aae43a95a..1a861b86ec4f 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -196,7 +196,7 @@ When a user issues a command, the following steps are performed: . `Logic` uses the `AddressBookParser` class to parse the user command. . This results in a `Command` object which is executed by the `LogicManager`. -. The command execution can affect the `Model` (e.g. adding a person) and/or raise events. +. The command execution can affect the `Model` (e.g. adding a coin) and/or raise events. . The result of the command execution is encapsulated as a `CommandResult` object which is then passed back to the UI. Given below is the Sequence Diagram (Fig. 8) for interactions within the `Logic` component for the `execute("delete{nbsp}1")` API call. @@ -446,7 +446,7 @@ The user executes a new `UndoableCommand`, `delete 5`, to delete the 5th entry. .Undo/Redo Stack Part 1 image::UndoRedoStartingStackDiagram.png[width="800"] -As the user continues to issue more commands, they are added into the `undoStack`. For example, the user may execute `add n/David ...` to add a new person, resulting in the below picture (Fig. 13): +As the user continues to issue more commands, they are added into the `undoStack`. For example, the user may execute `add BTC ...` to add a new coin, resulting in the below picture (Fig. 13): .Undo/Redo Stack Part 2 image::UndoRedoNewCommand1StackDiagram.png[width="800"] @@ -454,7 +454,7 @@ image::UndoRedoNewCommand1StackDiagram.png[width="800"] [NOTE] If a command fails its execution, it will not be pushed to the `UndoRedoStack` at all. -The user now decides that adding the person was a mistake, and decides to undo that action using `undo`. +The user now decides that adding the coin was a mistake, and decides to undo that action using `undo`. We will pop the most recent command out of the `undoStack` and push it to the `redoStack`. At the same time, the data is restored to the state before the `add` command executed. The figure below (Fig. 14) illustrates the result: @@ -506,7 +506,7 @@ image::UndoRedoActivityDiagram.png[width="650"] ** Pros: Easy to implement. ** Cons: May have performance issues in terms of memory usage. * **Alternative 2:** Individual commands know how to undo/redo by itself. -** Pros: Will use less memory (e.g. for `delete`, just save the person being deleted). +** Pros: Will use less memory (e.g. for `delete`, just save the coin being deleted). ** Cons: We must ensure that the implementation of each individual command are correct. @@ -1069,15 +1069,15 @@ These instructions only provide a starting point for testers to work on; testers _{ more test cases ... }_ -=== Deleting a person +=== Deleting a coin -. Deleting a person while all persons are listed +. Deleting a coin while all coins are listed -.. Prerequisites: List all persons using the `list` command. Multiple persons in the list. +.. Prerequisites: List all coins using the `list` command. Multiple coins in the list. .. Test case: `delete 1` + Expected: First contact is deleted from the list. Details of the deleted contact shown in the status message. Timestamp in the status bar is updated. .. Test case: `delete 0` + - Expected: No person is deleted. Error details shown in the status message. Status bar remains the same. + Expected: No coin is deleted. Error details shown in the status message. Status bar remains the same. .. Other incorrect delete commands to try: `delete`, `delete x` (where x is larger than the list size) _{give more}_ + Expected: Similar to previous. diff --git a/docs/images/SDforDeletePerson.png b/docs/images/SDforDeleteCoin.png similarity index 100% rename from docs/images/SDforDeletePerson.png rename to docs/images/SDforDeleteCoin.png diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 1deb3a1e4695..ed1766177bb7 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -7,7 +7,7 @@ public class Messages { public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command"; public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; - public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; - public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; + public static final String MESSAGE_INVALID_COIN_DISPLAYED_INDEX = "The coin index provided is invalid"; + public static final String MESSAGE_COINS_LISTED_OVERVIEW = "%1$d coins listed!"; } diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index 7db9b5c48ed6..35ac60059367 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -14,6 +14,6 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { - return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size(); + return "number of coins " + data.getCoinList().size() + ", number of tags " + data.getTagList().size(); } } diff --git a/src/main/java/seedu/address/commons/events/ui/CoinPanelSelectionChangedEvent.java b/src/main/java/seedu/address/commons/events/ui/CoinPanelSelectionChangedEvent.java new file mode 100644 index 000000000000..44ce74794900 --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/CoinPanelSelectionChangedEvent.java @@ -0,0 +1,26 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; +import seedu.address.ui.CoinCard; + +/** + * Represents a selection change in the Coin List Panel + */ +public class CoinPanelSelectionChangedEvent extends BaseEvent { + + + private final CoinCard newSelection; + + public CoinPanelSelectionChangedEvent(CoinCard newSelection) { + this.newSelection = newSelection; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } + + public CoinCard getNewSelection() { + return newSelection; + } +} diff --git a/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java b/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java index 4fc32183f074..cd538be81e12 100644 --- a/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java @@ -4,7 +4,7 @@ import seedu.address.commons.events.BaseEvent; /** - * Indicates a request to jump to the list of persons + * Indicates a request to jump to the list of coins */ public class JumpToListRequestEvent extends BaseEvent { diff --git a/src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java b/src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java deleted file mode 100644 index 56c1c9d987f1..000000000000 --- a/src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package seedu.address.commons.events.ui; - -import seedu.address.commons.events.BaseEvent; -import seedu.address.ui.PersonCard; - -/** - * Represents a selection change in the Person List Panel - */ -public class PersonPanelSelectionChangedEvent extends BaseEvent { - - - private final PersonCard newSelection; - - public PersonPanelSelectionChangedEvent(PersonCard newSelection) { - this.newSelection = newSelection; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } - - public PersonCard getNewSelection() { - return newSelection; - } -} diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 8b34b862039a..28729090cfef 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -4,7 +4,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.Person; +import seedu.address.model.coin.Coin; /** * API of the Logic component @@ -19,8 +19,8 @@ public interface Logic { */ CommandResult execute(String commandText) throws CommandException, ParseException; - /** Returns an unmodifiable view of the filtered list of persons */ - ObservableList getFilteredPersonList(); + /** Returns an unmodifiable view of the filtered list of coins */ + ObservableList getFilteredCoinList(); /** Returns the list of input entered by the user, encapsulated in a {@code ListElementPointer} object */ ListElementPointer getHistorySnapshot(); diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 9f6846bdfc74..4fc59614f948 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -11,7 +11,7 @@ import seedu.address.logic.parser.AddressBookParser; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.Model; -import seedu.address.model.person.Person; +import seedu.address.model.coin.Coin; /** * The main LogicManager of the app. @@ -46,8 +46,8 @@ public CommandResult execute(String commandText) throws CommandException, ParseE } @Override - public ObservableList getFilteredPersonList() { - return model.getFilteredPersonList(); + public ObservableList getFilteredCoinList() { + return model.getFilteredCoinList(); } @Override diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index d5de4a572715..bdb45972763f 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -8,18 +8,18 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.exceptions.DuplicateCoinException; /** - * Adds a person to the address book. + * Adds a coin to the address book. */ public class AddCommand extends UndoableCommand { public static final String COMMAND_WORD = "add"; public static final String COMMAND_ALIAS = "a"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. " + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a coin to the address book. " + "Parameters: " + PREFIX_NAME + "NAME " + PREFIX_PHONE + "PHONE " @@ -34,27 +34,27 @@ public class AddCommand extends UndoableCommand { + PREFIX_TAG + "friends " + PREFIX_TAG + "owesMoney"; - public static final String MESSAGE_SUCCESS = "New person added: %1$s"; - public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; + public static final String MESSAGE_SUCCESS = "New coin added: %1$s"; + public static final String MESSAGE_DUPLICATE_COIN = "This coin already exists in the address book"; - private final Person toAdd; + private final Coin toAdd; /** - * Creates an AddCommand to add the specified {@code Person} + * Creates an AddCommand to add the specified {@code Coin} */ - public AddCommand(Person person) { - requireNonNull(person); - toAdd = person; + public AddCommand(Coin coin) { + requireNonNull(coin); + toAdd = coin; } @Override public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { - model.addPerson(toAdd); + model.addCoin(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicatePersonException e) { - throw new CommandException(MESSAGE_DUPLICATE_PERSON); + } catch (DuplicateCoinException e) { + throw new CommandException(MESSAGE_DUPLICATE_COIN); } } diff --git a/src/main/java/seedu/address/logic/commands/Command.java b/src/main/java/seedu/address/logic/commands/Command.java index 6580e0b51c90..4eb83e5a50ba 100644 --- a/src/main/java/seedu/address/logic/commands/Command.java +++ b/src/main/java/seedu/address/logic/commands/Command.java @@ -15,13 +15,13 @@ public abstract class Command { protected UndoRedoStack undoRedoStack; /** - * Constructs a feedback message to summarise an operation that displayed a listing of persons. + * Constructs a feedback message to summarise an operation that displayed a listing of coins. * * @param displaySize used to generate summary - * @return summary message for persons displayed + * @return summary message for coins displayed */ - public static String getMessageForPersonListShownSummary(int displaySize) { - return String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, displaySize); + public static String getMessageForCoinListShownSummary(int displaySize) { + return String.format(Messages.MESSAGE_COINS_LISTED_OVERVIEW, displaySize); } /** diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 0cd0fbd860ad..be0cab6f9552 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -8,11 +8,11 @@ import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.exceptions.CoinNotFoundException; /** - * Deletes a person identified using it's last displayed index from the address book. + * Deletes a coin identified using it's last displayed index from the address book. */ public class DeleteCommand extends UndoableCommand { @@ -20,15 +20,15 @@ public class DeleteCommand extends UndoableCommand { public static final String COMMAND_ALIAS = "d"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Deletes the person identified by the index number used in the last person listing.\n" + + ": Deletes the coin identified by the index number used in the last coin listing.\n" + "Parameters: INDEX (must be a positive integer)\n" + "Example: " + COMMAND_WORD + " 1"; - public static final String MESSAGE_DELETE_PERSON_SUCCESS = "Deleted Person: %1$s"; + public static final String MESSAGE_DELETE_COIN_SUCCESS = "Deleted Coin: %1$s"; private final Index targetIndex; - private Person personToDelete; + private Coin coinToDelete; public DeleteCommand(Index targetIndex) { this.targetIndex = targetIndex; @@ -37,25 +37,25 @@ public DeleteCommand(Index targetIndex) { @Override public CommandResult executeUndoableCommand() { - requireNonNull(personToDelete); + requireNonNull(coinToDelete); try { - model.deletePerson(personToDelete); - } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target person cannot be missing"); + model.deleteCoin(coinToDelete); + } catch (CoinNotFoundException pnfe) { + throw new AssertionError("The target coin cannot be missing"); } - return new CommandResult(String.format(MESSAGE_DELETE_PERSON_SUCCESS, personToDelete)); + return new CommandResult(String.format(MESSAGE_DELETE_COIN_SUCCESS, coinToDelete)); } @Override protected void preprocessUndoableCommand() throws CommandException { - List lastShownList = model.getFilteredPersonList(); + List lastShownList = model.getFilteredCoinList(); if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + throw new CommandException(Messages.MESSAGE_INVALID_COIN_DISPLAYED_INDEX); } - personToDelete = lastShownList.get(targetIndex.getZeroBased()); + coinToDelete = lastShownList.get(targetIndex.getZeroBased()); } @Override @@ -63,6 +63,6 @@ public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof DeleteCommand // instanceof handles nulls && this.targetIndex.equals(((DeleteCommand) other).targetIndex) // state check - && Objects.equals(this.personToDelete, ((DeleteCommand) other).personToDelete)); + && Objects.equals(this.coinToDelete, ((DeleteCommand) other).coinToDelete)); } } diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index 3021c951a5b1..aaf8d2436a3b 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -6,7 +6,7 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; -import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import static seedu.address.model.Model.PREDICATE_SHOW_ALL_COINS; import java.util.Collections; import java.util.HashSet; @@ -19,25 +19,25 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.util.CollectionUtil; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.coin.Address; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.Email; +import seedu.address.model.coin.Name; +import seedu.address.model.coin.Phone; +import seedu.address.model.coin.exceptions.CoinNotFoundException; +import seedu.address.model.coin.exceptions.DuplicateCoinException; import seedu.address.model.tag.Tag; /** - * Edits the details of an existing person in the address book. + * Edits the details of an existing coin in the address book. */ public class EditCommand extends UndoableCommand { public static final String COMMAND_WORD = "edit"; public static final String COMMAND_ALIAS = "e"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the details of the person identified " - + "by the index number used in the last person listing. " + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the details of the coin identified " + + "by the index number used in the last coin listing. " + "Existing values will be overwritten by the input values.\n" + "Parameters: INDEX (must be a positive integer) " + "[" + PREFIX_NAME + "NAME] " @@ -49,67 +49,67 @@ public class EditCommand extends UndoableCommand { + PREFIX_PHONE + "91234567 " + PREFIX_EMAIL + "johndoe@example.com"; - public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Edited Person: %1$s"; + public static final String MESSAGE_EDIT_COIN_SUCCESS = "Edited Coin: %1$s"; public static final String MESSAGE_NOT_EDITED = "At least one field to edit must be provided."; - public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book."; + public static final String MESSAGE_DUPLICATE_COIN = "This coin already exists in the address book."; private final Index index; - private final EditPersonDescriptor editPersonDescriptor; + private final EditCoinDescriptor editCoinDescriptor; - private Person personToEdit; - private Person editedPerson; + private Coin coinToEdit; + private Coin editedCoin; /** - * @param index of the person in the filtered person list to edit - * @param editPersonDescriptor details to edit the person with + * @param index of the coin in the filtered coin list to edit + * @param editCoinDescriptor details to edit the coin with */ - public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) { + public EditCommand(Index index, EditCoinDescriptor editCoinDescriptor) { requireNonNull(index); - requireNonNull(editPersonDescriptor); + requireNonNull(editCoinDescriptor); this.index = index; - this.editPersonDescriptor = new EditPersonDescriptor(editPersonDescriptor); + this.editCoinDescriptor = new EditCoinDescriptor(editCoinDescriptor); } @Override public CommandResult executeUndoableCommand() throws CommandException { try { - model.updatePerson(personToEdit, editedPerson); - } catch (DuplicatePersonException dpe) { - throw new CommandException(MESSAGE_DUPLICATE_PERSON); - } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target person cannot be missing"); - } - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); + model.updateCoin(coinToEdit, editedCoin); + } catch (DuplicateCoinException dpe) { + throw new CommandException(MESSAGE_DUPLICATE_COIN); + } catch (CoinNotFoundException pnfe) { + throw new AssertionError("The target coin cannot be missing"); + } + model.updateFilteredCoinList(PREDICATE_SHOW_ALL_COINS); + return new CommandResult(String.format(MESSAGE_EDIT_COIN_SUCCESS, editedCoin)); } @Override protected void preprocessUndoableCommand() throws CommandException { - List lastShownList = model.getFilteredPersonList(); + List lastShownList = model.getFilteredCoinList(); if (index.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + throw new CommandException(Messages.MESSAGE_INVALID_COIN_DISPLAYED_INDEX); } - personToEdit = lastShownList.get(index.getZeroBased()); - editedPerson = createEditedPerson(personToEdit, editPersonDescriptor); + coinToEdit = lastShownList.get(index.getZeroBased()); + editedCoin = createEditedCoin(coinToEdit, editCoinDescriptor); } /** - * Creates and returns a {@code Person} with the details of {@code personToEdit} - * edited with {@code editPersonDescriptor}. + * Creates and returns a {@code Coin} with the details of {@code coinToEdit} + * edited with {@code editCoinDescriptor}. */ - private static Person createEditedPerson(Person personToEdit, EditPersonDescriptor editPersonDescriptor) { - assert personToEdit != null; + private static Coin createEditedCoin(Coin coinToEdit, EditCoinDescriptor editCoinDescriptor) { + assert coinToEdit != null; - Name updatedName = editPersonDescriptor.getName().orElse(personToEdit.getName()); - Phone updatedPhone = editPersonDescriptor.getPhone().orElse(personToEdit.getPhone()); - Email updatedEmail = editPersonDescriptor.getEmail().orElse(personToEdit.getEmail()); - Address updatedAddress = editPersonDescriptor.getAddress().orElse(personToEdit.getAddress()); - Set updatedTags = editPersonDescriptor.getTags().orElse(personToEdit.getTags()); + Name updatedName = editCoinDescriptor.getName().orElse(coinToEdit.getName()); + Phone updatedPhone = editCoinDescriptor.getPhone().orElse(coinToEdit.getPhone()); + Email updatedEmail = editCoinDescriptor.getEmail().orElse(coinToEdit.getEmail()); + Address updatedAddress = editCoinDescriptor.getAddress().orElse(coinToEdit.getAddress()); + Set updatedTags = editCoinDescriptor.getTags().orElse(coinToEdit.getTags()); - return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); + return new Coin(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); } @Override @@ -127,28 +127,28 @@ public boolean equals(Object other) { // state check EditCommand e = (EditCommand) other; return index.equals(e.index) - && editPersonDescriptor.equals(e.editPersonDescriptor) - && Objects.equals(personToEdit, e.personToEdit); + && editCoinDescriptor.equals(e.editCoinDescriptor) + && Objects.equals(coinToEdit, e.coinToEdit); } /** - * Stores the details to edit the person with. Each non-empty field value will replace the - * corresponding field value of the person. + * Stores the details to edit the coin with. Each non-empty field value will replace the + * corresponding field value of the coin. */ - public static class EditPersonDescriptor { + public static class EditCoinDescriptor { private Name name; private Phone phone; private Email email; private Address address; private Set tags; - public EditPersonDescriptor() {} + public EditCoinDescriptor() {} /** * Copy constructor. * A defensive copy of {@code tags} is used internally. */ - public EditPersonDescriptor(EditPersonDescriptor toCopy) { + public EditCoinDescriptor(EditCoinDescriptor toCopy) { setName(toCopy.name); setPhone(toCopy.phone); setEmail(toCopy.email); @@ -220,12 +220,12 @@ public boolean equals(Object other) { } // instanceof handles nulls - if (!(other instanceof EditPersonDescriptor)) { + if (!(other instanceof EditCoinDescriptor)) { return false; } // state check - EditPersonDescriptor e = (EditPersonDescriptor) other; + EditCoinDescriptor e = (EditCoinDescriptor) other; return getName().equals(e.getName()) && getPhone().equals(e.getPhone()) diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index a73078ed6ea3..147845be7631 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -1,9 +1,9 @@ package seedu.address.logic.commands; -import seedu.address.model.person.NameContainsKeywordsPredicate; +import seedu.address.model.coin.NameContainsKeywordsPredicate; /** - * Finds and lists all persons in address book whose name contains any of the argument keywords. + * Finds and lists all coins in address book whose name contains any of the argument keywords. * Keyword matching is case sensitive. */ public class FindCommand extends Command { @@ -11,7 +11,7 @@ public class FindCommand extends Command { public static final String COMMAND_WORD = "find"; public static final String COMMAND_ALIAS = "f"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose names contain any of " + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all coins whose names contain any of " + "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n" + "Parameters: KEYWORD [MORE_KEYWORDS]...\n" + "Example: " + COMMAND_WORD + " alice bob charlie"; @@ -24,8 +24,8 @@ public FindCommand(NameContainsKeywordsPredicate predicate) { @Override public CommandResult execute() { - model.updateFilteredPersonList(predicate); - return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredPersonList().size())); + model.updateFilteredCoinList(predicate); + return new CommandResult(getMessageForCoinListShownSummary(model.getFilteredCoinList().size())); } @Override diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 2631e4dda649..a3703810dcda 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -1,21 +1,21 @@ package seedu.address.logic.commands; -import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import static seedu.address.model.Model.PREDICATE_SHOW_ALL_COINS; /** - * Lists all persons in the address book to the user. + * Lists all coins in the address book to the user. */ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; public static final String COMMAND_ALIAS = "l"; - public static final String MESSAGE_SUCCESS = "Listed all persons"; + public static final String MESSAGE_SUCCESS = "Listed all coins"; @Override public CommandResult execute() { - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + model.updateFilteredCoinList(PREDICATE_SHOW_ALL_COINS); return new CommandResult(MESSAGE_SUCCESS); } } diff --git a/src/main/java/seedu/address/logic/commands/SelectCommand.java b/src/main/java/seedu/address/logic/commands/SelectCommand.java index 0bc2e3e21485..73fd25754ef7 100644 --- a/src/main/java/seedu/address/logic/commands/SelectCommand.java +++ b/src/main/java/seedu/address/logic/commands/SelectCommand.java @@ -7,10 +7,10 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.events.ui.JumpToListRequestEvent; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.person.Person; +import seedu.address.model.coin.Coin; /** - * Selects a person identified using it's last displayed index from the address book. + * Selects a coin identified using it's last displayed index from the address book. */ public class SelectCommand extends Command { @@ -18,11 +18,11 @@ public class SelectCommand extends Command { public static final String COMMAND_ALIAS = "s"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Selects the person identified by the index number used in the last person listing.\n" + + ": Selects the coin identified by the index number used in the last coin listing.\n" + "Parameters: INDEX (must be a positive integer)\n" + "Example: " + COMMAND_WORD + " 1"; - public static final String MESSAGE_SELECT_PERSON_SUCCESS = "Selected Person: %1$s"; + public static final String MESSAGE_SELECT_COIN_SUCCESS = "Selected Coin: %1$s"; private final Index targetIndex; @@ -33,14 +33,14 @@ public SelectCommand(Index targetIndex) { @Override public CommandResult execute() throws CommandException { - List lastShownList = model.getFilteredPersonList(); + List lastShownList = model.getFilteredCoinList(); if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + throw new CommandException(Messages.MESSAGE_INVALID_COIN_DISPLAYED_INDEX); } EventsCenter.getInstance().post(new JumpToListRequestEvent(targetIndex)); - return new CommandResult(String.format(MESSAGE_SELECT_PERSON_SUCCESS, targetIndex.getOneBased())); + return new CommandResult(String.format(MESSAGE_SELECT_COIN_SUCCESS, targetIndex.getOneBased())); } diff --git a/src/main/java/seedu/address/logic/commands/UndoableCommand.java b/src/main/java/seedu/address/logic/commands/UndoableCommand.java index c107ffcd9cb3..33fd67ebd9fe 100644 --- a/src/main/java/seedu/address/logic/commands/UndoableCommand.java +++ b/src/main/java/seedu/address/logic/commands/UndoableCommand.java @@ -2,7 +2,7 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import static seedu.address.model.Model.PREDICATE_SHOW_ALL_COINS; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.AddressBook; @@ -32,18 +32,18 @@ protected void preprocessUndoableCommand() throws CommandException {} /** * Reverts the AddressBook to the state before this command - * was executed and updates the filtered person list to - * show all persons. + * was executed and updates the filtered coin list to + * show all coins. */ protected final void undo() { requireAllNonNull(model, previousAddressBook); model.resetData(previousAddressBook); - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + model.updateFilteredCoinList(PREDICATE_SHOW_ALL_COINS); } /** - * Executes the command and updates the filtered person - * list to show all persons. + * Executes the command and updates the filtered coin + * list to show all coins. */ protected final void redo() { requireNonNull(model); @@ -53,7 +53,7 @@ protected final void redo() { throw new AssertionError("The command has been successfully executed previously; " + "it should not fail now"); } - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + model.updateFilteredCoinList(PREDICATE_SHOW_ALL_COINS); } @Override diff --git a/src/main/java/seedu/address/logic/parser/AddCommandParser.java b/src/main/java/seedu/address/logic/parser/AddCommandParser.java index 3c729b388554..6855bbf5a2b2 100644 --- a/src/main/java/seedu/address/logic/parser/AddCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/AddCommandParser.java @@ -13,11 +13,11 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.logic.commands.AddCommand; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; +import seedu.address.model.coin.Address; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.Email; +import seedu.address.model.coin.Name; +import seedu.address.model.coin.Phone; import seedu.address.model.tag.Tag; /** @@ -46,9 +46,9 @@ public AddCommand parse(String args) throws ParseException { Address address = ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS)).get(); Set tagList = ParserUtil.parseTags(argMultimap.getAllValues(PREFIX_TAG)); - Person person = new Person(name, phone, email, address, tagList); + Coin coin = new Coin(name, phone, email, address, tagList); - return new AddCommand(person); + return new AddCommand(coin); } catch (IllegalValueException ive) { throw new ParseException(ive.getMessage(), ive); } diff --git a/src/main/java/seedu/address/logic/parser/EditCommandParser.java b/src/main/java/seedu/address/logic/parser/EditCommandParser.java index c9cdbed26cf1..61429dc40937 100644 --- a/src/main/java/seedu/address/logic/parser/EditCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/EditCommandParser.java @@ -16,7 +16,7 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.logic.commands.EditCommand; -import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; +import seedu.address.logic.commands.EditCommand.EditCoinDescriptor; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.tag.Tag; @@ -43,22 +43,22 @@ public EditCommand parse(String args) throws ParseException { throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, EditCommand.MESSAGE_USAGE)); } - EditPersonDescriptor editPersonDescriptor = new EditPersonDescriptor(); + EditCoinDescriptor editCoinDescriptor = new EditCoinDescriptor(); try { - ParserUtil.parseName(argMultimap.getValue(PREFIX_NAME)).ifPresent(editPersonDescriptor::setName); - ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE)).ifPresent(editPersonDescriptor::setPhone); - ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL)).ifPresent(editPersonDescriptor::setEmail); - ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS)).ifPresent(editPersonDescriptor::setAddress); - parseTagsForEdit(argMultimap.getAllValues(PREFIX_TAG)).ifPresent(editPersonDescriptor::setTags); + ParserUtil.parseName(argMultimap.getValue(PREFIX_NAME)).ifPresent(editCoinDescriptor::setName); + ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE)).ifPresent(editCoinDescriptor::setPhone); + ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL)).ifPresent(editCoinDescriptor::setEmail); + ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS)).ifPresent(editCoinDescriptor::setAddress); + parseTagsForEdit(argMultimap.getAllValues(PREFIX_TAG)).ifPresent(editCoinDescriptor::setTags); } catch (IllegalValueException ive) { throw new ParseException(ive.getMessage(), ive); } - if (!editPersonDescriptor.isAnyFieldEdited()) { + if (!editCoinDescriptor.isAnyFieldEdited()) { throw new ParseException(EditCommand.MESSAGE_NOT_EDITED); } - return new EditCommand(index, editPersonDescriptor); + return new EditCommand(index, editCoinDescriptor); } /** diff --git a/src/main/java/seedu/address/logic/parser/FindCommandParser.java b/src/main/java/seedu/address/logic/parser/FindCommandParser.java index b186a967cb94..497f96bcf3e4 100644 --- a/src/main/java/seedu/address/logic/parser/FindCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/FindCommandParser.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.FindCommand; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.NameContainsKeywordsPredicate; +import seedu.address.model.coin.NameContainsKeywordsPredicate; /** * Parses input arguments and creates a new FindCommand object diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 5d6d4ae3f7b1..d6abe62b9b6c 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -10,10 +10,10 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.commons.util.StringUtil; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Phone; +import seedu.address.model.coin.Address; +import seedu.address.model.coin.Email; +import seedu.address.model.coin.Name; +import seedu.address.model.coin.Phone; import seedu.address.model.tag.Tag; /** diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index f8d0260de159..ebd3893bddf9 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -11,10 +11,10 @@ import java.util.stream.Collectors; import javafx.collections.ObservableList; -import seedu.address.model.person.Person; -import seedu.address.model.person.UniquePersonList; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.UniqueCoinList; +import seedu.address.model.coin.exceptions.CoinNotFoundException; +import seedu.address.model.coin.exceptions.DuplicateCoinException; import seedu.address.model.tag.Tag; import seedu.address.model.tag.UniqueTagList; @@ -24,7 +24,7 @@ */ public class AddressBook implements ReadOnlyAddressBook { - private final UniquePersonList persons; + private final UniqueCoinList coins; private final UniqueTagList tags; /* @@ -35,14 +35,14 @@ public class AddressBook implements ReadOnlyAddressBook { * among constructors. */ { - persons = new UniquePersonList(); + coins = new UniqueCoinList(); tags = new UniqueTagList(); } public AddressBook() {} /** - * Creates an AddressBook using the Persons and Tags in the {@code toBeCopied} + * Creates an AddressBook using the Coins and Tags in the {@code toBeCopied} */ public AddressBook(ReadOnlyAddressBook toBeCopied) { this(); @@ -51,8 +51,8 @@ public AddressBook(ReadOnlyAddressBook toBeCopied) { //// list overwrite operations - public void setPersons(List persons) throws DuplicatePersonException { - this.persons.setPersons(persons); + public void setCoins(List coins) throws DuplicateCoinException { + this.coins.setCoins(coins); } public void setTags(Set tags) { @@ -65,85 +65,85 @@ public void setTags(Set tags) { public void resetData(ReadOnlyAddressBook newData) { requireNonNull(newData); setTags(new HashSet<>(newData.getTagList())); - List syncedPersonList = newData.getPersonList().stream() + List syncedCoinList = newData.getCoinList().stream() .map(this::syncWithMasterTagList) .collect(Collectors.toList()); try { - setPersons(syncedPersonList); - } catch (DuplicatePersonException e) { - throw new AssertionError("AddressBooks should not have duplicate persons"); + setCoins(syncedCoinList); + } catch (DuplicateCoinException e) { + throw new AssertionError("AddressBooks should not have duplicate coins"); } } - //// person-level operations + //// coin-level operations /** - * Adds a person to the address book. - * Also checks the new person's tags and updates {@link #tags} with any new tags found, - * and updates the Tag objects in the person to point to those in {@link #tags}. + * Adds a coin to the address book. + * Also checks the new coin's tags and updates {@link #tags} with any new tags found, + * and updates the Tag objects in the coin to point to those in {@link #tags}. * - * @throws DuplicatePersonException if an equivalent person already exists. + * @throws DuplicateCoinException if an equivalent coin already exists. */ - public void addPerson(Person p) throws DuplicatePersonException { - Person person = syncWithMasterTagList(p); + public void addCoin(Coin p) throws DuplicateCoinException { + Coin coin = syncWithMasterTagList(p); // TODO: the tags master list will be updated even though the below line fails. - // This can cause the tags master list to have additional tags that are not tagged to any person - // in the person list. - persons.add(person); + // This can cause the tags master list to have additional tags that are not tagged to any coin + // in the coin list. + coins.add(coin); } /** - * Replaces the given person {@code target} in the list with {@code editedPerson}. - * {@code AddressBook}'s tag list will be updated with the tags of {@code editedPerson}. + * Replaces the given coin {@code target} in the list with {@code editedCoin}. + * {@code AddressBook}'s tag list will be updated with the tags of {@code editedCoin}. * - * @throws DuplicatePersonException if updating the person's details causes the person to be equivalent to - * another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. + * @throws DuplicateCoinException if updating the coin's details causes the coin to be equivalent to + * another existing coin in the list. + * @throws CoinNotFoundException if {@code target} could not be found in the list. * - * @see #syncWithMasterTagList(Person) + * @see #syncWithMasterTagList(Coin) */ - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException, PersonNotFoundException { - requireNonNull(editedPerson); + public void updateCoin(Coin target, Coin editedCoin) + throws DuplicateCoinException, CoinNotFoundException { + requireNonNull(editedCoin); - Person syncedEditedPerson = syncWithMasterTagList(editedPerson); + Coin syncedEditedCoin = syncWithMasterTagList(editedCoin); // TODO: the tags master list will be updated even though the below line fails. - // This can cause the tags master list to have additional tags that are not tagged to any person - // in the person list. - persons.setPerson(target, syncedEditedPerson); + // This can cause the tags master list to have additional tags that are not tagged to any coin + // in the coin list. + coins.setCoin(target, syncedEditedCoin); } /** - * Updates the master tag list to include tags in {@code person} that are not in the list. - * @return a copy of this {@code person} such that every tag in this person points to a Tag object in the master + * Updates the master tag list to include tags in {@code coin} that are not in the list. + * @return a copy of this {@code coin} such that every tag in this coin points to a Tag object in the master * list. */ - private Person syncWithMasterTagList(Person person) { - final UniqueTagList personTags = new UniqueTagList(person.getTags()); - tags.mergeFrom(personTags); + private Coin syncWithMasterTagList(Coin coin) { + final UniqueTagList coinTags = new UniqueTagList(coin.getTags()); + tags.mergeFrom(coinTags); // Create map with values = tag object references in the master list - // used for checking person tag references + // used for checking coin tag references final Map masterTagObjects = new HashMap<>(); tags.forEach(tag -> masterTagObjects.put(tag, tag)); - // Rebuild the list of person tags to point to the relevant tags in the master tag list. + // Rebuild the list of coin tags to point to the relevant tags in the master tag list. final Set correctTagReferences = new HashSet<>(); - personTags.forEach(tag -> correctTagReferences.add(masterTagObjects.get(tag))); - return new Person( - person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); + coinTags.forEach(tag -> correctTagReferences.add(masterTagObjects.get(tag))); + return new Coin( + coin.getName(), coin.getPhone(), coin.getEmail(), coin.getAddress(), correctTagReferences); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws PersonNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws CoinNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removePerson(Person key) throws PersonNotFoundException { - if (persons.remove(key)) { + public boolean removeCoin(Coin key) throws CoinNotFoundException { + if (coins.remove(key)) { return true; } else { - throw new PersonNotFoundException(); + throw new CoinNotFoundException(); } } @@ -157,13 +157,13 @@ public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { @Override public String toString() { - return persons.asObservableList().size() + " persons, " + tags.asObservableList().size() + " tags"; + return coins.asObservableList().size() + " coins, " + tags.asObservableList().size() + " tags"; // TODO: refine later } @Override - public ObservableList getPersonList() { - return persons.asObservableList(); + public ObservableList getCoinList() { + return coins.asObservableList(); } @Override @@ -175,13 +175,13 @@ public ObservableList getTagList() { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof AddressBook // instanceof handles nulls - && this.persons.equals(((AddressBook) other).persons) + && this.coins.equals(((AddressBook) other).coins) && this.tags.equalsOrderInsensitive(((AddressBook) other).tags)); } @Override public int hashCode() { // use this method for custom fields hashing instead of implementing your own - return Objects.hash(persons, tags); + return Objects.hash(coins, tags); } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 4a6079ce0199..51e86a49ff35 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -3,16 +3,16 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; -import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.exceptions.CoinNotFoundException; +import seedu.address.model.coin.exceptions.DuplicateCoinException; /** * The API of the Model component. */ public interface Model { /** {@code Predicate} that always evaluate to true */ - Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; + Predicate PREDICATE_SHOW_ALL_COINS = unused -> true; /** Clears existing backing model and replaces with the provided new data. */ void resetData(ReadOnlyAddressBook newData); @@ -20,29 +20,29 @@ public interface Model { /** Returns the AddressBook */ ReadOnlyAddressBook getAddressBook(); - /** Deletes the given person. */ - void deletePerson(Person target) throws PersonNotFoundException; + /** Deletes the given coin. */ + void deleteCoin(Coin target) throws CoinNotFoundException; - /** Adds the given person */ - void addPerson(Person person) throws DuplicatePersonException; + /** Adds the given coin */ + void addCoin(Coin coin) throws DuplicateCoinException; /** - * Replaces the given person {@code target} with {@code editedPerson}. + * Replaces the given coin {@code target} with {@code editedCoin}. * - * @throws DuplicatePersonException if updating the person's details causes the person to be equivalent to - * another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. + * @throws DuplicateCoinException if updating the coin's details causes the coin to be equivalent to + * another existing coin in the list. + * @throws CoinNotFoundException if {@code target} could not be found in the list. */ - void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException, PersonNotFoundException; + void updateCoin(Coin target, Coin editedCoin) + throws DuplicateCoinException, CoinNotFoundException; - /** Returns an unmodifiable view of the filtered person list */ - ObservableList getFilteredPersonList(); + /** Returns an unmodifiable view of the filtered coin list */ + ObservableList getFilteredCoinList(); /** - * Updates the filter of the filtered person list to filter by the given {@code predicate}. + * Updates the filter of the filtered coin list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. */ - void updateFilteredPersonList(Predicate predicate); + void updateFilteredCoinList(Predicate predicate); } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 22a7d0eb3f4d..6398cd022b72 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -12,9 +12,9 @@ import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.exceptions.CoinNotFoundException; +import seedu.address.model.coin.exceptions.DuplicateCoinException; /** * Represents the in-memory model of the address book data. @@ -24,7 +24,7 @@ public class ModelManager extends ComponentManager implements Model { private static final Logger logger = LogsCenter.getLogger(ModelManager.class); private final AddressBook addressBook; - private final FilteredList filteredPersons; + private final FilteredList filteredCoins; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -36,7 +36,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs); this.addressBook = new AddressBook(addressBook); - filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + filteredCoins = new FilteredList<>(this.addressBook.getCoinList()); } public ModelManager() { @@ -60,42 +60,42 @@ private void indicateAddressBookChanged() { } @Override - public synchronized void deletePerson(Person target) throws PersonNotFoundException { - addressBook.removePerson(target); + public synchronized void deleteCoin(Coin target) throws CoinNotFoundException { + addressBook.removeCoin(target); indicateAddressBookChanged(); } @Override - public synchronized void addPerson(Person person) throws DuplicatePersonException { - addressBook.addPerson(person); - updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + public synchronized void addCoin(Coin coin) throws DuplicateCoinException { + addressBook.addCoin(coin); + updateFilteredCoinList(PREDICATE_SHOW_ALL_COINS); indicateAddressBookChanged(); } @Override - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException, PersonNotFoundException { - requireAllNonNull(target, editedPerson); + public void updateCoin(Coin target, Coin editedCoin) + throws DuplicateCoinException, CoinNotFoundException { + requireAllNonNull(target, editedCoin); - addressBook.updatePerson(target, editedPerson); + addressBook.updateCoin(target, editedCoin); indicateAddressBookChanged(); } - //=========== Filtered Person List Accessors ============================================================= + //=========== Filtered Coin List Accessors ============================================================= /** - * Returns an unmodifiable view of the list of {@code Person} backed by the internal list of + * Returns an unmodifiable view of the list of {@code Coin} backed by the internal list of * {@code addressBook} */ @Override - public ObservableList getFilteredPersonList() { - return FXCollections.unmodifiableObservableList(filteredPersons); + public ObservableList getFilteredCoinList() { + return FXCollections.unmodifiableObservableList(filteredCoins); } @Override - public void updateFilteredPersonList(Predicate predicate) { + public void updateFilteredCoinList(Predicate predicate) { requireNonNull(predicate); - filteredPersons.setPredicate(predicate); + filteredCoins.setPredicate(predicate); } @Override @@ -113,7 +113,7 @@ public boolean equals(Object obj) { // state check ModelManager other = (ModelManager) obj; return addressBook.equals(other.addressBook) - && filteredPersons.equals(other.filteredPersons); + && filteredCoins.equals(other.filteredCoins); } } diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 1f4e49a37d67..21a6b5dbad3b 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -1,7 +1,7 @@ package seedu.address.model; import javafx.collections.ObservableList; -import seedu.address.model.person.Person; +import seedu.address.model.coin.Coin; import seedu.address.model.tag.Tag; /** @@ -10,10 +10,10 @@ public interface ReadOnlyAddressBook { /** - * Returns an unmodifiable view of the persons list. - * This list will not contain any duplicate persons. + * Returns an unmodifiable view of the coins list. + * This list will not contain any duplicate coins. */ - ObservableList getPersonList(); + ObservableList getCoinList(); /** * Returns an unmodifiable view of the tags list. diff --git a/src/main/java/seedu/address/model/person/Address.java b/src/main/java/seedu/address/model/coin/Address.java similarity index 85% rename from src/main/java/seedu/address/model/person/Address.java rename to src/main/java/seedu/address/model/coin/Address.java index 5e981f07790a..a723f6596a80 100644 --- a/src/main/java/seedu/address/model/person/Address.java +++ b/src/main/java/seedu/address/model/coin/Address.java @@ -1,16 +1,16 @@ -package seedu.address.model.person; +package seedu.address.model.coin; import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.AppUtil.checkArgument; /** - * Represents a Person's address in the address book. + * Represents a Coin's address in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidAddress(String)} */ public class Address { public static final String MESSAGE_ADDRESS_CONSTRAINTS = - "Person addresses can take any values, and it should not be blank"; + "Coin addresses can take any values, and it should not be blank"; /* * The first character of the address must not be a whitespace, @@ -32,7 +32,7 @@ public Address(String address) { } /** - * Returns true if a given string is a valid person email. + * Returns true if a given string is a valid coin email. */ public static boolean isValidAddress(String test) { return test.matches(ADDRESS_VALIDATION_REGEX); diff --git a/src/main/java/seedu/address/model/coin/Amount.java b/src/main/java/seedu/address/model/coin/Amount.java new file mode 100644 index 000000000000..abe54b3611f8 --- /dev/null +++ b/src/main/java/seedu/address/model/coin/Amount.java @@ -0,0 +1,49 @@ +package seedu.address.model.coin; + +/** + * Represents the amount of the coin held in the address book. + */ +public class Amount { + + private Double value; + + /** + * Constructs an {@code Amount}. + */ + public Amount() { + this.value = 0.0; + } + + /** + * Adds addAmount to the current value. + * + * @param addAmount amount to be added. + */ + public void addValue(Double addAmount) { + this.value += addAmount; + } + + /** + * Subtracts subtractAmount to the current value. + * + * @param subtractAmount amount to be subtracted. + */ + public void subtractValue(Double subtractAmount) { + this.value -= subtractAmount; + } + + public Double getValue() { + return this.value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Amount // instanceof handles nulls + && this.value.equals(((Amount) other).value)); // state check + } + + public String toString() { + return this.value.toString(); + } +} diff --git a/src/main/java/seedu/address/model/coin/Coin.java b/src/main/java/seedu/address/model/coin/Coin.java new file mode 100644 index 000000000000..b6574bd8e7e0 --- /dev/null +++ b/src/main/java/seedu/address/model/coin/Coin.java @@ -0,0 +1,150 @@ +package seedu.address.model.coin; + +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Collections; +import java.util.Objects; +import java.util.Set; + +import seedu.address.model.tag.Tag; +import seedu.address.model.tag.UniqueTagList; + +/** + * Represents a Coin in the address book. + * Guarantees: details are present and not null, field values are validated, immutable. + */ +public class Coin { + + private final Name name; + private final Phone phone; + private final Email email; + private final Address address; + + private final Amount currentAmountHeld; + private final Amount totalAmountSold; + private final Amount totalAmountBought; + private final Price price; + + private final UniqueTagList tags; + + /** + * Every field must be present and not null. + */ + public Coin(Name name, Phone phone, Email email, Address address, Set tags) { + requireAllNonNull(name, phone, email, address, tags); + this.name = name; + this.phone = phone; + this.email = email; + this.address = address; + // protect internal tags from changes in the arg list + this.tags = new UniqueTagList(tags); + this.currentAmountHeld = new Amount(); + this.price = new Price(); + this.totalAmountSold = new Amount(); + this.totalAmountBought = new Amount(); + } + + public Name getName() { + return name; + } + + public Phone getPhone() { + return phone; + } + + public Email getEmail() { + return email; + } + + public Address getAddress() { + return address; + } + + public Amount getCurrentAmountHeld() { + return currentAmountHeld; + } + + public Price getPrice() { + return price; + } + + /** + * Returns an immutable tag set, which throws {@code UnsupportedOperationException} + * if modification is attempted. + */ + public Set getTags() { + return Collections.unmodifiableSet(tags.toSet()); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Coin)) { + return false; + } + + Coin otherCoin = (Coin) other; + return otherCoin.getName().equals(this.getName()) + && otherCoin.getPhone().equals(this.getPhone()) + && otherCoin.getEmail().equals(this.getEmail()) + && otherCoin.getAddress().equals(this.getAddress()) + && otherCoin.getCurrentAmountHeld().equals(this.getCurrentAmountHeld()) + && otherCoin.getPrice().equals(this.getPrice()); + } + + @Override + public int hashCode() { + // use this method for custom fields hashing instead of implementing your own + return Objects.hash(name, phone, email, address, tags, currentAmountHeld, price); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getName()) + .append(" Phone: ") + .append(getPhone()) + .append(" Email: ") + .append(getEmail()) + .append(" Address: ") + .append(getAddress()) + .append(" Amount: ") + .append(getCurrentAmountHeld()) + .append(" Price: ") + .append(getPrice()) + .append(" Tags: "); + getTags().forEach(builder::append); + return builder.toString(); + } + + public Amount getTotalAmountSold() { + return totalAmountSold; + } + + public void addTotalAmountSold(Double addAmount) { + this.totalAmountSold.addValue(addAmount); + } + + public Amount getTotalAmountBought() { + return totalAmountBought; + } + + public void addTotalAmountBought(Double addAmount) { + this.totalAmountBought.addValue(addAmount); + } + + public Double getTotalAmountProfit() { + return totalAmountSold.getValue() - totalAmountBought.getValue(); + } + + public Double getDollarsWorth() { + return price.getValue() * currentAmountHeld.getValue(); + } + + public Double getProfitability() { + return getDollarsWorth() + ((getProfitability() > 0) ? 0 : getProfitability()); + } +} diff --git a/src/main/java/seedu/address/model/person/Email.java b/src/main/java/seedu/address/model/coin/Email.java similarity index 89% rename from src/main/java/seedu/address/model/person/Email.java rename to src/main/java/seedu/address/model/coin/Email.java index 3759a577ec59..5b7dd57ca8da 100644 --- a/src/main/java/seedu/address/model/person/Email.java +++ b/src/main/java/seedu/address/model/coin/Email.java @@ -1,16 +1,16 @@ -package seedu.address.model.person; +package seedu.address.model.coin; import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.AppUtil.checkArgument; /** - * Represents a Person's email in the address book. + * Represents a Coin's email in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidEmail(String)} */ public class Email { private static final String SPECIAL_CHARACTERS = "!#$%&'*+/=?`{|}~^.-"; - public static final String MESSAGE_EMAIL_CONSTRAINTS = "Person emails should be of the format local-part@domain " + public static final String MESSAGE_EMAIL_CONSTRAINTS = "Coin emails should be of the format local-part@domain " + "and adhere to the following constraints:\n" + "1. The local-part should only contain alphanumeric characters and these special characters, excluding " + "the parentheses, (" + SPECIAL_CHARACTERS + ") .\n" @@ -41,7 +41,7 @@ public Email(String email) { } /** - * Returns if a given string is a valid person email. + * Returns if a given string is a valid coin email. */ public static boolean isValidEmail(String test) { return test.matches(EMAIL_VALIDATION_REGEX); diff --git a/src/main/java/seedu/address/model/person/Name.java b/src/main/java/seedu/address/model/coin/Name.java similarity index 84% rename from src/main/java/seedu/address/model/person/Name.java rename to src/main/java/seedu/address/model/coin/Name.java index 8e632943c4cf..a04f8d43780f 100644 --- a/src/main/java/seedu/address/model/person/Name.java +++ b/src/main/java/seedu/address/model/coin/Name.java @@ -1,16 +1,16 @@ -package seedu.address.model.person; +package seedu.address.model.coin; import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.AppUtil.checkArgument; /** - * Represents a Person's name in the address book. + * Represents a Coin's name in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidName(String)} */ public class Name { public static final String MESSAGE_NAME_CONSTRAINTS = - "Person names should only contain alphanumeric characters and spaces, and it should not be blank"; + "Coin names should only contain alphanumeric characters and spaces, and it should not be blank"; /* * The first character of the address must not be a whitespace, @@ -32,7 +32,7 @@ public Name(String name) { } /** - * Returns true if a given string is a valid person name. + * Returns true if a given string is a valid coin name. */ public static boolean isValidName(String test) { return test.matches(NAME_VALIDATION_REGEX); diff --git a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java b/src/main/java/seedu/address/model/coin/NameContainsKeywordsPredicate.java similarity index 78% rename from src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java rename to src/main/java/seedu/address/model/coin/NameContainsKeywordsPredicate.java index 827e2cc106bd..fa83a240885b 100644 --- a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java +++ b/src/main/java/seedu/address/model/coin/NameContainsKeywordsPredicate.java @@ -1,4 +1,4 @@ -package seedu.address.model.person; +package seedu.address.model.coin; import java.util.List; import java.util.function.Predicate; @@ -6,9 +6,9 @@ import seedu.address.commons.util.StringUtil; /** - * Tests that a {@code Person}'s {@code Name} matches any of the keywords given. + * Tests that a {@code Coin}'s {@code Name} matches any of the keywords given. */ -public class NameContainsKeywordsPredicate implements Predicate { +public class NameContainsKeywordsPredicate implements Predicate { private final List keywords; public NameContainsKeywordsPredicate(List keywords) { @@ -16,9 +16,9 @@ public NameContainsKeywordsPredicate(List keywords) { } @Override - public boolean test(Person person) { + public boolean test(Coin coin) { return keywords.stream() - .anyMatch(keyword -> StringUtil.containsWordIgnoreCase(person.getName().fullName, keyword)); + .anyMatch(keyword -> StringUtil.containsWordIgnoreCase(coin.getName().fullName, keyword)); } @Override diff --git a/src/main/java/seedu/address/model/person/Phone.java b/src/main/java/seedu/address/model/coin/Phone.java similarity index 88% rename from src/main/java/seedu/address/model/person/Phone.java rename to src/main/java/seedu/address/model/coin/Phone.java index 11b5435ac247..3bd808db7646 100644 --- a/src/main/java/seedu/address/model/person/Phone.java +++ b/src/main/java/seedu/address/model/coin/Phone.java @@ -1,10 +1,10 @@ -package seedu.address.model.person; +package seedu.address.model.coin; import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.AppUtil.checkArgument; /** - * Represents a Person's phone number in the address book. + * Represents a Coin's phone number in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidPhone(String)} */ public class Phone { @@ -27,7 +27,7 @@ public Phone(String phone) { } /** - * Returns true if a given string is a valid person phone number. + * Returns true if a given string is a valid coin phone number. */ public static boolean isValidPhone(String test) { return test.matches(PHONE_VALIDATION_REGEX); diff --git a/src/main/java/seedu/address/model/coin/Price.java b/src/main/java/seedu/address/model/coin/Price.java new file mode 100644 index 000000000000..aac1e2b571b4 --- /dev/null +++ b/src/main/java/seedu/address/model/coin/Price.java @@ -0,0 +1,35 @@ +package seedu.address.model.coin; + +/** + * Represents a Coin's price in the address book. + */ +public class Price { + + private Double value; + + /** + * Constructs a {@code Price}. + */ + public Price() { + this.value = 0.0; + } + + public Double getValue() { + return value; + } + + public void setValue(Double value) { + this.value = value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Price // instanceof handles nulls + && this.value.equals(((Price) other).value)); // state check + } + + public String toString() { + return this.value.toString(); + } +} diff --git a/src/main/java/seedu/address/model/coin/UniqueCoinList.java b/src/main/java/seedu/address/model/coin/UniqueCoinList.java new file mode 100644 index 000000000000..fa4257913b61 --- /dev/null +++ b/src/main/java/seedu/address/model/coin/UniqueCoinList.java @@ -0,0 +1,121 @@ +package seedu.address.model.coin; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.util.CollectionUtil; +import seedu.address.model.coin.exceptions.CoinNotFoundException; +import seedu.address.model.coin.exceptions.DuplicateCoinException; + +/** + * A list of coins that enforces uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + * + * @see Coin#equals(Object) + * @see CollectionUtil#elementsAreUnique(Collection) + */ +public class UniqueCoinList implements Iterable { + + private final ObservableList internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent coin as the given argument. + */ + public boolean contains(Coin toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds a coin to the list. + * + * @throws DuplicateCoinException if the coin to add is a duplicate of an existing coin in the list. + */ + public void add(Coin toAdd) throws DuplicateCoinException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateCoinException(); + } + internalList.add(toAdd); + } + + /** + * Replaces the coin {@code target} in the list with {@code editedCoin}. + * + * @throws DuplicateCoinException if the replacement is equivalent to another existing coin in the list. + * @throws CoinNotFoundException if {@code target} could not be found in the list. + */ + public void setCoin(Coin target, Coin editedCoin) + throws DuplicateCoinException, CoinNotFoundException { + requireNonNull(editedCoin); + + int index = internalList.indexOf(target); + if (index == -1) { + throw new CoinNotFoundException(); + } + + if (!target.equals(editedCoin) && internalList.contains(editedCoin)) { + throw new DuplicateCoinException(); + } + + internalList.set(index, editedCoin); + } + + /** + * Removes the equivalent coin from the list. + * + * @throws CoinNotFoundException if no such coin could be found in the list. + */ + public boolean remove(Coin toRemove) throws CoinNotFoundException { + requireNonNull(toRemove); + final boolean coinFoundAndDeleted = internalList.remove(toRemove); + if (!coinFoundAndDeleted) { + throw new CoinNotFoundException(); + } + return coinFoundAndDeleted; + } + + public void setCoins(UniqueCoinList replacement) { + this.internalList.setAll(replacement.internalList); + } + + public void setCoins(List coins) throws DuplicateCoinException { + requireAllNonNull(coins); + final UniqueCoinList replacement = new UniqueCoinList(); + for (final Coin coin : coins) { + replacement.add(coin); + } + setCoins(replacement); + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList asObservableList() { + return FXCollections.unmodifiableObservableList(internalList); + } + + @Override + public Iterator iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueCoinList // instanceof handles nulls + && this.internalList.equals(((UniqueCoinList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } +} diff --git a/src/main/java/seedu/address/model/coin/exceptions/CoinNotFoundException.java b/src/main/java/seedu/address/model/coin/exceptions/CoinNotFoundException.java new file mode 100644 index 000000000000..3432b4501cce --- /dev/null +++ b/src/main/java/seedu/address/model/coin/exceptions/CoinNotFoundException.java @@ -0,0 +1,6 @@ +package seedu.address.model.coin.exceptions; + +/** + * Signals that the operation is unable to find the specified coin. + */ +public class CoinNotFoundException extends Exception {} diff --git a/src/main/java/seedu/address/model/coin/exceptions/DuplicateCoinException.java b/src/main/java/seedu/address/model/coin/exceptions/DuplicateCoinException.java new file mode 100644 index 000000000000..da5990411461 --- /dev/null +++ b/src/main/java/seedu/address/model/coin/exceptions/DuplicateCoinException.java @@ -0,0 +1,12 @@ +package seedu.address.model.coin.exceptions; + +import seedu.address.commons.exceptions.DuplicateDataException; + +/** + * Signals that the operation will result in duplicate Coin objects. + */ +public class DuplicateCoinException extends DuplicateDataException { + public DuplicateCoinException() { + super("Operation would result in duplicate coins"); + } +} diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/seedu/address/model/person/Person.java deleted file mode 100644 index ec9f2aa5e919..000000000000 --- a/src/main/java/seedu/address/model/person/Person.java +++ /dev/null @@ -1,100 +0,0 @@ -package seedu.address.model.person; - -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Collections; -import java.util.Objects; -import java.util.Set; - -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; - -/** - * Represents a Person in the address book. - * Guarantees: details are present and not null, field values are validated, immutable. - */ -public class Person { - - private final Name name; - private final Phone phone; - private final Email email; - private final Address address; - - private final UniqueTagList tags; - - /** - * Every field must be present and not null. - */ - public Person(Name name, Phone phone, Email email, Address address, Set tags) { - requireAllNonNull(name, phone, email, address, tags); - this.name = name; - this.phone = phone; - this.email = email; - this.address = address; - // protect internal tags from changes in the arg list - this.tags = new UniqueTagList(tags); - } - - public Name getName() { - return name; - } - - public Phone getPhone() { - return phone; - } - - public Email getEmail() { - return email; - } - - public Address getAddress() { - return address; - } - - /** - * Returns an immutable tag set, which throws {@code UnsupportedOperationException} - * if modification is attempted. - */ - public Set getTags() { - return Collections.unmodifiableSet(tags.toSet()); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Person)) { - return false; - } - - Person otherPerson = (Person) other; - return otherPerson.getName().equals(this.getName()) - && otherPerson.getPhone().equals(this.getPhone()) - && otherPerson.getEmail().equals(this.getEmail()) - && otherPerson.getAddress().equals(this.getAddress()); - } - - @Override - public int hashCode() { - // use this method for custom fields hashing instead of implementing your own - return Objects.hash(name, phone, email, address, tags); - } - - @Override - public String toString() { - final StringBuilder builder = new StringBuilder(); - builder.append(getName()) - .append(" Phone: ") - .append(getPhone()) - .append(" Email: ") - .append(getEmail()) - .append(" Address: ") - .append(getAddress()) - .append(" Tags: "); - getTags().forEach(builder::append); - return builder.toString(); - } - -} diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java deleted file mode 100644 index f2c4c4c585e4..000000000000 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ /dev/null @@ -1,120 +0,0 @@ -package seedu.address.model.person; - -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Iterator; -import java.util.List; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import seedu.address.commons.util.CollectionUtil; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; - -/** - * A list of persons that enforces uniqueness between its elements and does not allow nulls. - * - * Supports a minimal set of list operations. - * - * @see Person#equals(Object) - * @see CollectionUtil#elementsAreUnique(Collection) - */ -public class UniquePersonList implements Iterable { - - private final ObservableList internalList = FXCollections.observableArrayList(); - - /** - * Returns true if the list contains an equivalent person as the given argument. - */ - public boolean contains(Person toCheck) { - requireNonNull(toCheck); - return internalList.contains(toCheck); - } - - /** - * Adds a person to the list. - * - * @throws DuplicatePersonException if the person to add is a duplicate of an existing person in the list. - */ - public void add(Person toAdd) throws DuplicatePersonException { - requireNonNull(toAdd); - if (contains(toAdd)) { - throw new DuplicatePersonException(); - } - internalList.add(toAdd); - } - - /** - * Replaces the person {@code target} in the list with {@code editedPerson}. - * - * @throws DuplicatePersonException if the replacement is equivalent to another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. - */ - public void setPerson(Person target, Person editedPerson) - throws DuplicatePersonException, PersonNotFoundException { - requireNonNull(editedPerson); - - int index = internalList.indexOf(target); - if (index == -1) { - throw new PersonNotFoundException(); - } - - if (!target.equals(editedPerson) && internalList.contains(editedPerson)) { - throw new DuplicatePersonException(); - } - - internalList.set(index, editedPerson); - } - - /** - * Removes the equivalent person from the list. - * - * @throws PersonNotFoundException if no such person could be found in the list. - */ - public boolean remove(Person toRemove) throws PersonNotFoundException { - requireNonNull(toRemove); - final boolean personFoundAndDeleted = internalList.remove(toRemove); - if (!personFoundAndDeleted) { - throw new PersonNotFoundException(); - } - return personFoundAndDeleted; - } - - public void setPersons(UniquePersonList replacement) { - this.internalList.setAll(replacement.internalList); - } - - public void setPersons(List persons) throws DuplicatePersonException { - requireAllNonNull(persons); - final UniquePersonList replacement = new UniquePersonList(); - for (final Person person : persons) { - replacement.add(person); - } - setPersons(replacement); - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList asObservableList() { - return FXCollections.unmodifiableObservableList(internalList); - } - - @Override - public Iterator iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniquePersonList // instanceof handles nulls - && this.internalList.equals(((UniquePersonList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } -} diff --git a/src/main/java/seedu/address/model/person/exceptions/DuplicatePersonException.java b/src/main/java/seedu/address/model/person/exceptions/DuplicatePersonException.java deleted file mode 100644 index fce401885dc8..000000000000 --- a/src/main/java/seedu/address/model/person/exceptions/DuplicatePersonException.java +++ /dev/null @@ -1,12 +0,0 @@ -package seedu.address.model.person.exceptions; - -import seedu.address.commons.exceptions.DuplicateDataException; - -/** - * Signals that the operation will result in duplicate Person objects. - */ -public class DuplicatePersonException extends DuplicateDataException { - public DuplicatePersonException() { - super("Operation would result in duplicate persons"); - } -} diff --git a/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java b/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java deleted file mode 100644 index f757e25f5566..000000000000 --- a/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java +++ /dev/null @@ -1,6 +0,0 @@ -package seedu.address.model.person.exceptions; - -/** - * Signals that the operation is unable to find the specified person. - */ -public class PersonNotFoundException extends Exception {} diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index aea96bfb31f3..a14ca3268335 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -5,36 +5,36 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.coin.Address; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.Email; +import seedu.address.model.coin.Name; +import seedu.address.model.coin.Phone; +import seedu.address.model.coin.exceptions.DuplicateCoinException; import seedu.address.model.tag.Tag; /** * Contains utility methods for populating {@code AddressBook} with sample data. */ public class SampleDataUtil { - public static Person[] getSamplePersons() { - return new Person[] { - new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), + public static Coin[] getSampleCoins() { + return new Coin[] { + new Coin(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), new Address("Blk 30 Geylang Street 29, #06-40"), getTagSet("friends")), - new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), + new Coin(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), getTagSet("colleagues", "friends")), - new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), + new Coin(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), getTagSet("neighbours")), - new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), + new Coin(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), getTagSet("family")), - new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), + new Coin(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), new Address("Blk 47 Tampines Street 20, #17-35"), getTagSet("classmates")), - new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), + new Coin(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), new Address("Blk 45 Aljunied Street 85, #11-31"), getTagSet("colleagues")) }; @@ -43,12 +43,12 @@ public static Person[] getSamplePersons() { public static ReadOnlyAddressBook getSampleAddressBook() { try { AddressBook sampleAb = new AddressBook(); - for (Person samplePerson : getSamplePersons()) { - sampleAb.addPerson(samplePerson); + for (Coin sampleCoin : getSampleCoins()) { + sampleAb.addCoin(sampleCoin); } return sampleAb; - } catch (DuplicatePersonException e) { - throw new AssertionError("sample data cannot contain duplicate persons", e); + } catch (DuplicateCoinException e) { + throw new AssertionError("sample data cannot contain duplicate coins", e); } } diff --git a/src/main/java/seedu/address/storage/XmlAdaptedPerson.java b/src/main/java/seedu/address/storage/XmlAdaptedCoin.java similarity index 65% rename from src/main/java/seedu/address/storage/XmlAdaptedPerson.java rename to src/main/java/seedu/address/storage/XmlAdaptedCoin.java index 2cd92dc4fd20..8b7c402f9954 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedPerson.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedCoin.java @@ -9,19 +9,19 @@ import javax.xml.bind.annotation.XmlElement; import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; +import seedu.address.model.coin.Address; +import seedu.address.model.coin.Coin; +import seedu.address.model.coin.Email; +import seedu.address.model.coin.Name; +import seedu.address.model.coin.Phone; import seedu.address.model.tag.Tag; /** - * JAXB-friendly version of the Person. + * JAXB-friendly version of the Coin. */ -public class XmlAdaptedPerson { +public class XmlAdaptedCoin { - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Person's %s field is missing!"; + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Coin's %s field is missing!"; @XmlElement(required = true) private String name; @@ -36,15 +36,15 @@ public class XmlAdaptedPerson { private List tagged = new ArrayList<>(); /** - * Constructs an XmlAdaptedPerson. + * Constructs an XmlAdaptedCoin. * This is the no-arg constructor that is required by JAXB. */ - public XmlAdaptedPerson() {} + public XmlAdaptedCoin() {} /** - * Constructs an {@code XmlAdaptedPerson} with the given person details. + * Constructs an {@code XmlAdaptedCoin} with the given coin details. */ - public XmlAdaptedPerson(String name, String phone, String email, String address, List tagged) { + public XmlAdaptedCoin(String name, String phone, String email, String address, List tagged) { this.name = name; this.phone = phone; this.email = email; @@ -55,11 +55,11 @@ public XmlAdaptedPerson(String name, String phone, String email, String address, } /** - * Converts a given Person into this class for JAXB use. + * Converts a given Coin into this class for JAXB use. * - * @param source future changes to this will not affect the created XmlAdaptedPerson + * @param source future changes to this will not affect the created XmlAdaptedCoin */ - public XmlAdaptedPerson(Person source) { + public XmlAdaptedCoin(Coin source) { name = source.getName().fullName; phone = source.getPhone().value; email = source.getEmail().value; @@ -71,14 +71,14 @@ public XmlAdaptedPerson(Person source) { } /** - * Converts this jaxb-friendly adapted person object into the model's Person object. + * Converts this jaxb-friendly adapted coin object into the model's Coin object. * - * @throws IllegalValueException if there were any data constraints violated in the adapted person + * @throws IllegalValueException if there were any data constraints violated in the adapted coin */ - public Person toModelType() throws IllegalValueException { - final List personTags = new ArrayList<>(); + public Coin toModelType() throws IllegalValueException { + final List coinTags = new ArrayList<>(); for (XmlAdaptedTag tag : tagged) { - personTags.add(tag.toModelType()); + coinTags.add(tag.toModelType()); } if (this.name == null) { @@ -113,8 +113,8 @@ public Person toModelType() throws IllegalValueException { } final Address address = new Address(this.address); - final Set tags = new HashSet<>(personTags); - return new Person(name, phone, email, address, tags); + final Set tags = new HashSet<>(coinTags); + return new Coin(name, phone, email, address, tags); } @Override @@ -123,15 +123,15 @@ public boolean equals(Object other) { return true; } - if (!(other instanceof XmlAdaptedPerson)) { + if (!(other instanceof XmlAdaptedCoin)) { return false; } - XmlAdaptedPerson otherPerson = (XmlAdaptedPerson) other; - return Objects.equals(name, otherPerson.name) - && Objects.equals(phone, otherPerson.phone) - && Objects.equals(email, otherPerson.email) - && Objects.equals(address, otherPerson.address) - && tagged.equals(otherPerson.tagged); + XmlAdaptedCoin otherCoin = (XmlAdaptedCoin) other; + return Objects.equals(name, otherCoin.name) + && Objects.equals(phone, otherCoin.phone) + && Objects.equals(email, otherCoin.email) + && Objects.equals(address, otherCoin.address) + && tagged.equals(otherCoin.tagged); } } diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTag.java b/src/main/java/seedu/address/storage/XmlAdaptedTag.java index d3e2d8be9c4f..6dc129e11626 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTag.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedTag.java @@ -38,7 +38,7 @@ public XmlAdaptedTag(Tag source) { /** * Converts this jaxb-friendly adapted tag object into the model's Tag object. * - * @throws IllegalValueException if there were any data constraints violated in the adapted person + * @throws IllegalValueException if there were any data constraints violated in the adapted coin */ public Tag toModelType() throws IllegalValueException { if (!Tag.isValidTagName(tagName)) { diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index dc820896c312..b5694fa95ca5 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -18,7 +18,7 @@ public class XmlSerializableAddressBook { @XmlElement - private List persons; + private List coins; @XmlElement private List tags; @@ -27,7 +27,7 @@ public class XmlSerializableAddressBook { * This empty constructor is required for marshalling. */ public XmlSerializableAddressBook() { - persons = new ArrayList<>(); + coins = new ArrayList<>(); tags = new ArrayList<>(); } @@ -36,7 +36,7 @@ public XmlSerializableAddressBook() { */ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); - persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); + coins.addAll(src.getCoinList().stream().map(XmlAdaptedCoin::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); } @@ -44,15 +44,15 @@ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { * Converts this addressbook into the model's {@code AddressBook} object. * * @throws IllegalValueException if there were any data constraints violated or duplicates in the - * {@code XmlAdaptedPerson} or {@code XmlAdaptedTag}. + * {@code XmlAdaptedCoin} or {@code XmlAdaptedTag}. */ public AddressBook toModelType() throws IllegalValueException { AddressBook addressBook = new AddressBook(); for (XmlAdaptedTag t : tags) { addressBook.addTag(t.toModelType()); } - for (XmlAdaptedPerson p : persons) { - addressBook.addPerson(p.toModelType()); + for (XmlAdaptedCoin p : coins) { + addressBook.addCoin(p.toModelType()); } return addressBook; } @@ -68,6 +68,6 @@ public boolean equals(Object other) { } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; - return persons.equals(otherAb.persons) && tags.equals(otherAb.tags); + return coins.equals(otherAb.coins) && tags.equals(otherAb.tags); } } diff --git a/src/main/java/seedu/address/ui/BrowserPanel.java b/src/main/java/seedu/address/ui/BrowserPanel.java index bb0d61380d5a..9afb63be2950 100644 --- a/src/main/java/seedu/address/ui/BrowserPanel.java +++ b/src/main/java/seedu/address/ui/BrowserPanel.java @@ -12,8 +12,8 @@ import javafx.scene.web.WebView; import seedu.address.MainApp; import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; -import seedu.address.model.person.Person; +import seedu.address.commons.events.ui.CoinPanelSelectionChangedEvent; +import seedu.address.model.coin.Coin; /** * The Browser Panel of the App. @@ -41,8 +41,8 @@ public BrowserPanel() { registerAsAnEventHandler(this); } - private void loadPersonPage(Person person) { - loadPage(SEARCH_PAGE_URL + person.getName().fullName); + private void loadCoinPage(Coin coin) { + loadPage(SEARCH_PAGE_URL + coin.getName().fullName); } public void loadPage(String url) { @@ -65,8 +65,8 @@ public void freeResources() { } @Subscribe - private void handlePersonPanelSelectionChangedEvent(PersonPanelSelectionChangedEvent event) { + private void handleCoinPanelSelectionChangedEvent(CoinPanelSelectionChangedEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); - loadPersonPage(event.getNewSelection().person); + loadCoinPage(event.getNewSelection().coin); } } diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/CoinCard.java similarity index 72% rename from src/main/java/seedu/address/ui/PersonCard.java rename to src/main/java/seedu/address/ui/CoinCard.java index 203221200452..49f93dc18d49 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/CoinCard.java @@ -5,15 +5,15 @@ import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Region; -import seedu.address.model.person.Person; +import seedu.address.model.coin.Coin; import seedu.address.model.tag.Tag; /** - * An UI component that displays information of a {@code Person}. + * An UI component that displays information of a {@code Coin}. */ -public class PersonCard extends UiPart { +public class CoinCard extends UiPart { - private static final String FXML = "PersonListCard.fxml"; + private static final String FXML = "CoinListCard.fxml"; private static final String[] TAG_STYLE_CLASSES = { "red", "blue", "yellow", "grey", "burlywood", "plum" }; @@ -26,7 +26,7 @@ public class PersonCard extends UiPart { * @see The issue on AddressBook level 4 */ - public final Person person; + public final Coin coin; @FXML private HBox cardPane; @@ -42,16 +42,19 @@ public class PersonCard extends UiPart { private Label email; @FXML private FlowPane tags; + @FXML + private Label amount; + @FXML + private Label price; - public PersonCard(Person person, int displayedIndex) { + public CoinCard(Coin coin, int displayedIndex) { super(FXML); - this.person = person; + this.coin = coin; id.setText(displayedIndex + ". "); - name.setText(person.getName().fullName); - phone.setText(person.getPhone().value); - address.setText(person.getAddress().value); - email.setText(person.getEmail().value); - person.getTags().forEach(tag -> newTag(tag)); + name.setText(coin.getName().fullName); + amount.setText(coin.getCurrentAmountHeld().getValue().toString()); + price.setText(coin.getPrice().toString()); + coin.getTags().forEach(tag -> newTag(tag)); } /** @@ -82,13 +85,13 @@ public boolean equals(Object other) { } // instanceof handles nulls - if (!(other instanceof PersonCard)) { + if (!(other instanceof CoinCard)) { return false; } // state check - PersonCard card = (PersonCard) other; + CoinCard card = (CoinCard) other; return id.getText().equals(card.id.getText()) - && person.equals(card.person); + && coin.equals(card.coin); } } diff --git a/src/main/java/seedu/address/ui/CoinListPanel.java b/src/main/java/seedu/address/ui/CoinListPanel.java new file mode 100644 index 000000000000..9e67865887ab --- /dev/null +++ b/src/main/java/seedu/address/ui/CoinListPanel.java @@ -0,0 +1,88 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import com.google.common.eventbus.Subscribe; + +import javafx.application.Platform; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.events.ui.CoinPanelSelectionChangedEvent; +import seedu.address.commons.events.ui.JumpToListRequestEvent; +import seedu.address.model.coin.Coin; + +/** + * Panel containing the list of coins. + */ +public class CoinListPanel extends UiPart { + private static final String FXML = "CoinListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(CoinListPanel.class); + + @FXML + private ListView coinListView; + + public CoinListPanel(ObservableList coinList) { + super(FXML); + setConnections(coinList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList coinList) { + ObservableList mappedList = EasyBind.map( + coinList, (coin) -> new CoinCard(coin, coinList.indexOf(coin) + 1)); + coinListView.setItems(mappedList); + coinListView.setCellFactory(listView -> new CoinListViewCell()); + setEventHandlerForSelectionChangeEvent(); + } + + private void setEventHandlerForSelectionChangeEvent() { + coinListView.getSelectionModel().selectedItemProperty() + .addListener((observable, oldValue, newValue) -> { + if (newValue != null) { + logger.fine("Selection in coin list panel changed to : '" + newValue + "'"); + raise(new CoinPanelSelectionChangedEvent(newValue)); + } + }); + } + + /** + * Scrolls to the {@code CoinCard} at the {@code index} and selects it. + */ + private void scrollTo(int index) { + Platform.runLater(() -> { + coinListView.scrollTo(index); + coinListView.getSelectionModel().clearAndSelect(index); + }); + } + + @Subscribe + private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { + logger.info(LogsCenter.getEventHandlingLogMessage(event)); + scrollTo(event.targetIndex); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code CoinCard}. + */ + class CoinListViewCell extends ListCell { + + @Override + protected void updateItem(CoinCard coin, boolean empty) { + super.updateItem(coin, empty); + + if (empty || coin == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(coin.getRoot()); + } + } + } + +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 0eaa2fe79944..180acdcadf5c 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -36,7 +36,7 @@ public class MainWindow extends UiPart { // Independent Ui parts residing in this Ui container private BrowserPanel browserPanel; - private PersonListPanel personListPanel; + private CoinListPanel coinListPanel; private Config config; private UserPrefs prefs; @@ -50,7 +50,7 @@ public class MainWindow extends UiPart { private MenuItem helpMenuItem; @FXML - private StackPane personListPanelPlaceholder; + private StackPane coinListPanelPlaceholder; @FXML private StackPane resultDisplayPlaceholder; @@ -120,13 +120,13 @@ void fillInnerParts() { browserPanel = new BrowserPanel(); browserPlaceholder.getChildren().add(browserPanel.getRoot()); - personListPanel = new PersonListPanel(logic.getFilteredPersonList()); - personListPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + coinListPanel = new CoinListPanel(logic.getFilteredCoinList()); + coinListPanelPlaceholder.getChildren().add(coinListPanel.getRoot()); ResultDisplay resultDisplay = new ResultDisplay(); resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); - StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getFilteredPersonList().size(), + StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getFilteredCoinList().size(), prefs.getAddressBookFilePath()); statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); @@ -193,8 +193,8 @@ private void handleExit() { raise(new ExitAppRequestEvent()); } - public PersonListPanel getPersonListPanel() { - return this.personListPanel; + public CoinListPanel getCoinListPanel() { + return this.coinListPanel; } void releaseResources() { diff --git a/src/main/java/seedu/address/ui/NewsListPanel.java b/src/main/java/seedu/address/ui/NewsListPanel.java index b4826e50924c..ca0a01f5e607 100644 --- a/src/main/java/seedu/address/ui/NewsListPanel.java +++ b/src/main/java/seedu/address/ui/NewsListPanel.java @@ -44,7 +44,7 @@ private ObservableList loadNewsList() { } /** - * Custom {@code ListCell} that displays the graphics of a {@code PersonCard}. + * Custom {@code ListCell} that displays the graphics of a {@code CoinCard}. */ class NewsListViewCell extends ListCell { diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/PersonListPanel.java deleted file mode 100644 index 60a4f70f4e71..000000000000 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ /dev/null @@ -1,88 +0,0 @@ -package seedu.address.ui; - -import java.util.logging.Logger; - -import org.fxmisc.easybind.EasyBind; - -import com.google.common.eventbus.Subscribe; - -import javafx.application.Platform; -import javafx.collections.ObservableList; -import javafx.fxml.FXML; -import javafx.scene.control.ListCell; -import javafx.scene.control.ListView; -import javafx.scene.layout.Region; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.ui.JumpToListRequestEvent; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; -import seedu.address.model.person.Person; - -/** - * Panel containing the list of persons. - */ -public class PersonListPanel extends UiPart { - private static final String FXML = "PersonListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); - - @FXML - private ListView personListView; - - public PersonListPanel(ObservableList personList) { - super(FXML); - setConnections(personList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList personList) { - ObservableList mappedList = EasyBind.map( - personList, (person) -> new PersonCard(person, personList.indexOf(person) + 1)); - personListView.setItems(mappedList); - personListView.setCellFactory(listView -> new PersonListViewCell()); - setEventHandlerForSelectionChangeEvent(); - } - - private void setEventHandlerForSelectionChangeEvent() { - personListView.getSelectionModel().selectedItemProperty() - .addListener((observable, oldValue, newValue) -> { - if (newValue != null) { - logger.fine("Selection in person list panel changed to : '" + newValue + "'"); - raise(new PersonPanelSelectionChangedEvent(newValue)); - } - }); - } - - /** - * Scrolls to the {@code PersonCard} at the {@code index} and selects it. - */ - private void scrollTo(int index) { - Platform.runLater(() -> { - personListView.scrollTo(index); - personListView.getSelectionModel().clearAndSelect(index); - }); - } - - @Subscribe - private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { - logger.info(LogsCenter.getEventHandlingLogMessage(event)); - scrollTo(event.targetIndex); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code PersonCard}. - */ - class PersonListViewCell extends ListCell { - - @Override - protected void updateItem(PersonCard person, boolean empty) { - super.updateItem(person, empty); - - if (empty || person == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(person.getRoot()); - } - } - } - -} diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index 0665b9bb1cc6..e4f349497a18 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -85,6 +85,6 @@ public void handleAddressBookChangedEvent(AddressBookChangedEvent abce) { String lastUpdated = new Date(now).toString(); logger.info(LogsCenter.getEventHandlingLogMessage(abce, "Setting last updated status to " + lastUpdated)); setSyncStatus(String.format(SYNC_STATUS_UPDATED, lastUpdated)); - setItemCountStatus(abce.data.getPersonList().size()); + setItemCountStatus(abce.data.getCoinList().size()); } } diff --git a/src/main/resources/view/PersonListCard.fxml b/src/main/resources/view/CoinListCard.fxml similarity index 66% rename from src/main/resources/view/PersonListCard.fxml rename to src/main/resources/view/CoinListCard.fxml index f08ea32ad558..1f64c27e9bdb 100644 --- a/src/main/resources/view/PersonListCard.fxml +++ b/src/main/resources/view/CoinListCard.fxml @@ -7,30 +7,33 @@ + - + - + - + - - + + + diff --git a/src/main/resources/view/PersonListPanel.fxml b/src/main/resources/view/CoinListPanel.fxml similarity index 77% rename from src/main/resources/view/PersonListPanel.fxml rename to src/main/resources/view/CoinListPanel.fxml index 8836d323cc5d..aed63ba8acfb 100644 --- a/src/main/resources/view/PersonListPanel.fxml +++ b/src/main/resources/view/CoinListPanel.fxml @@ -4,5 +4,5 @@ - + diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index e0a8da1e3e5e..59a9c6549f96 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -335,7 +335,7 @@ -fx-stroke-width: 1px !important; } -#filterField, #personListPanel, #personWebpage { +#filterField, #coinListPanel, #coinWebpage { -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); } diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 1dadb95b6ffe..eb674f971ae3 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -47,11 +47,11 @@ - + - + diff --git a/src/test/data/XmlAddressBookStorageTest/invalidAndValidPersonAddressBook.xml b/src/test/data/XmlAddressBookStorageTest/invalidAndValidCoinAddressBook.xml similarity index 78% rename from src/test/data/XmlAddressBookStorageTest/invalidAndValidPersonAddressBook.xml rename to src/test/data/XmlAddressBookStorageTest/invalidAndValidCoinAddressBook.xml index 41e411568a5f..7521914ffc0a 100644 --- a/src/test/data/XmlAddressBookStorageTest/invalidAndValidPersonAddressBook.xml +++ b/src/test/data/XmlAddressBookStorageTest/invalidAndValidCoinAddressBook.xml @@ -1,17 +1,17 @@ - - + + Hans Muster 9482424 hans@example.com

diff --git a/src/test/data/XmlUtilTest/missingPersonField.xml b/src/test/data/XmlUtilTest/missingCoinField.xml similarity index 75% rename from src/test/data/XmlUtilTest/missingPersonField.xml rename to src/test/data/XmlUtilTest/missingCoinField.xml index c0da5c86d080..7871e4407a07 100644 --- a/src/test/data/XmlUtilTest/missingPersonField.xml +++ b/src/test/data/XmlUtilTest/missingCoinField.xml @@ -1,8 +1,8 @@ - - + + 9482424 hans@example
4th street
friends -
+ diff --git a/src/test/data/XmlUtilTest/tempAddressBook.xml b/src/test/data/XmlUtilTest/tempAddressBook.xml index 41eeb8eb391a..1dc5a71f87cb 100644 --- a/src/test/data/XmlUtilTest/tempAddressBook.xml +++ b/src/test/data/XmlUtilTest/tempAddressBook.xml @@ -1,6 +1,6 @@ - + 1 John Doe @@ -8,7 +8,7 @@ - + Friends diff --git a/src/test/data/XmlUtilTest/validAddressBook.xml b/src/test/data/XmlUtilTest/validAddressBook.xml index 6265778674d3..b2badf7b2d69 100644 --- a/src/test/data/XmlUtilTest/validAddressBook.xml +++ b/src/test/data/XmlUtilTest/validAddressBook.xml @@ -1,57 +1,57 @@ - + Hans Muster 9482424 hans@example.com
4th street
-
- + + Ruth Mueller 87249245 ruth@example.com
81th street
-
- + + Heinz Kurz 95352563 heinz@example.com
wall street
-
- + + Cornelia Meier 87652533 cornelia@example.com
10th street
-
- + + Werner Meyer 9482224 werner@example.com
michegan ave
-
- + + Lydia Kunz 9482427 lydia@example.com
little tokyo
-
- + + Anna Best 9482442 anna@example.com
4th street
-
- + + Stefan Meier 8482424 stefan@example.com
little india
-
- + + Martin Mueller 8482131 hans@example.com
chicago ave
-
+
diff --git a/src/test/data/XmlUtilTest/validPerson.xml b/src/test/data/XmlUtilTest/validCoin.xml similarity index 91% rename from src/test/data/XmlUtilTest/validPerson.xml rename to src/test/data/XmlUtilTest/validCoin.xml index c029008d54f4..2b74a2d9e7a5 100644 --- a/src/test/data/XmlUtilTest/validPerson.xml +++ b/src/test/data/XmlUtilTest/validCoin.xml @@ -1,8 +1,8 @@ - + Hans Muster 9482424 hans@example
4th street
friends -
+ diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/CoinCardHandle.java similarity index 67% rename from src/test/java/guitests/guihandles/PersonCardHandle.java rename to src/test/java/guitests/guihandles/CoinCardHandle.java index d337d3a4cee9..54f5b18ff044 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/CoinCardHandle.java @@ -8,31 +8,31 @@ import javafx.scene.layout.Region; /** - * Provides a handle to a person card in the person list panel. + * Provides a handle to a coin card in the coin list panel. */ -public class PersonCardHandle extends NodeHandle { +public class CoinCardHandle extends NodeHandle { private static final String ID_FIELD_ID = "#id"; private static final String NAME_FIELD_ID = "#name"; private static final String ADDRESS_FIELD_ID = "#address"; private static final String PHONE_FIELD_ID = "#phone"; private static final String EMAIL_FIELD_ID = "#email"; + private static final String AMOUNT_FIELD_ID = "#amount"; + private static final String PRICE_FIELD_ID = "#price"; private static final String TAGS_FIELD_ID = "#tags"; private final Label idLabel; private final Label nameLabel; - private final Label addressLabel; - private final Label phoneLabel; - private final Label emailLabel; + private final Label amountLabel; + private final Label priceLabel; private final List